Git教程

作者: HerryBox | 来源:发表于2016-01-05 23:33 被阅读94次

Git简介

集中式vs分布式

svn属于集中式管理,git属于分布式管理。

安装Git

MacOS 安装Xcode后默认安装Git。

创建版本库

git init git add

$       cd ~/Desktop/
$       mkdir GitResponse
$       cd GitResponse/
$       ls -a
输出: .   ..
$       git init
$       ls -a
输出      .   ..  .git

此时可以看到文件夹中有.git的文件,说明git仓库构建成功。Git只能跟踪文本文件的改动,比如.txt文件,网页,程序代码等。

$ touch readme.txt

新建一个文件readme.txt使用$ git add readme.txt将文件加入仓库。执行完毕以后如果没有任何提示,则表明添加成功!UNIX思想没有消息就是好消息

git commit -m ""

$       git commit -m "新建readme.txt文件"
输出: [master (root-commit) f242d2d] 新建readme.txt文件
 1 file changed, 1 insertion(+)
 create mode 100644 readme.txt

git status

我们尝试修改readme.txt后 使用git status命令

$       git status
On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

    modified:   readme.txt

no changes added to commit (use "git add" and/or "git commit -a")

说明修改的文件未提交。 readme.txt文件未提交。

git diff

git diff命令用来查看文件修改的地方

$ git diff readme.txt
diff --git a/readme.txt b/readme.txt
index 25fb339..344dba9 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1 +1,2 @@
 这是Git仓库。
+开始学习Git。
\ No newline at end of file

其中 +开始学习Git就是修改的地方。

$ git add readme.txt
$ git commit -m "readme.txt 新增一句话:开始使用Git"
[master 5db8876] readme.txt 新增一句话:开始使用Git
 1 file changed, 1 insertion(+)
 $ git status
On branch master
nothing to commit, working directory clean

版本回退

git log 查看提交日志

git log --pretty=oneline

git reset --hard 版本号

HEAD^上个版本

HEAD^^上上个版本

HEAD~100

git reset --hard HEAD~1

git reflog 查看命令行记录

删除文件

git rm <file> 用于删除一个文件。如果一个文件已经被提交到版本库,那么你永远不用担心误删,但是要小心,你只能恢复文件到最新版本,你会丢失最近一次提交后你修改的内容。

远程仓库

origin Git默认是远程仓库

分支管理

创建与合并分支

Git 鼓励大量使用分支

git branch 查看分支

git branch <name>创建分支

git checkout <name> 切换分支

git checkout -b <name> 创建+切换分支

git merge <name> 合并某分支到当前分支

git branch -d <name>删除分支

解决冲突

同时在两个分支中修改统一文件的位置后。合并代码便会发生冲突。

$ git merge dev
error: merge is not possible because you have unmerged files.
hint: Fix them up in the work tree, and then use 'git add/rm <file>'
hint: as appropriate to mark resolution and make a commit.
fatal: Exiting because of an unresolved conflict.

此时提示合并有冲突.

git merge --no-ff -m "merge with no-ff" <branch name> 合并分支时候建议使用。可以查看其他分支的提交信息。

Bug分支

git stash 工作现场保存。
git stash apply 回复工作现场 但是不会删除stash内容

git stash drop 删除保存stash

git stash pop恢复并删除

多人协作

git remote -v 查看详细的远程仓库信息

git push origin <branchName> 所有本地提交推送到远程仓库

git pull 从远程仓库拉去最新代码

git checkout -b <branchName> origin/<branchName>本地创建和远程分支对应的分支

git branch --set-upstream-to <branchName> origin/<branchName> 建立本地分支和远程分支的关联

标签管理

创建标签

相关文章

  • Git基础

    git教程 git 教程 廖雪峰git 教程 官方教程 git 全局设置 name和emailgit config...

  • Git 教程(一)--Git简介及操作流程

    前言 Git 教程(一)--Git简介及操作流程Git 教程(二)--Git文件操作Git 教程(三)--远程仓库...

  • Git 教程(五)--远程分支

    前言 Git 教程(一)--Git简介及操作流程Git 教程(二)--Git文件操作Git 教程(三)--远程仓库...

  • Git 教程(四)--分支原理

    前言 Git 教程(一)--Git简介及操作流程Git 教程(二)--Git文件操作Git 教程(三)--远程仓库...

  • Git 教程(三)--远程仓库

    前言 Git 教程(一)--Git简介及操作流程Git 教程(二)--Git文件操作Git 教程(三)--远程仓库...

  • Git 教程(二)--Git文件操作

    前言 Git 教程(一)--Git简介及操作流程Git 教程(二)--Git文件操作Git 教程(三)--远程仓库...

  • Git分支管理策略

    如果你已经看完了Git详细教程(一)Git详细教程(二)Git详细教程(三)三篇简单的Git教程,相信你对Git有...

  • Git使用教程

    Git简单教程地址Git详细教程地址

  • Git笔记

    资料 Git教程(廖雪峰) Git教程(菜鸟教程) Git - 简明指南 Git官网 首次创建 创建用户 进入代码...

  • Git教程笔记

    Git教程笔记 Git教程-菜鸟教程 1. Git 安装配置 1.1 Linux | Windows | Mac...

网友评论

      本文标题:Git教程

      本文链接:https://www.haomeiwen.com/subject/ingzhttx.html