学习参考地址:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

 本编随笔只是自己对git学习的笔记,是按着参考地址的讲解学习的记录。

 

 一、分支的创建与合并

git branch :查看分支

git branch <name> :创建分支

git checkout <name> :切换分支

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

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

git branch -d <name> :删除分支

在git中,有个主分支master,HEAD指向当前分支,所以默认就是指向master分支。

1、使用git branch 查看分支

 

2、创建分支与切换分支

3、合并分支与删除分支

 二、解决冲突

当主分支与其他分支都改动了相同地方并都提交了,合并其他分支就会提示冲突,此时解决冲突的办法就是统一下改动的地方,并再提交,删除分支,有点让我们再次确认下提交内容而已,避免不同版本修改出错。如下所示操作:

 三、另一种合并分支的方式

前面合并分支的方式都是Fast forward模式合并,这种方法对分支修改没有记录,很多时候不好追溯修改,下面学习的是禁止Fast forward模式合并。加上--no-ff参数的合并方法。

git merge --no-ff -m "变更说明” branch

 分支管理几个基本原则:

1、master分支非常稳定,用来发布版本

2、修改都在dev分支上进行,发版本时才往master分支上合并,平时在dev分支上合并其他分支

 

四、Bug分支与Feature分支

1、bug分支

git stash :保留未完成分支工作现场。

git stash pop :恢复保留的工作现场,并删除stash保存的内容,等同于git stash apply恢复,再加上用git stash drop来删除stash内容两个命令。

bug分支管理是为了处理一个bug把当前还不能提交的工作暂且搁置的一种管理办法,我们可以通过git stash命令保留当前工作现场,再创建一个bug分支去处理bug,处理完后再恢复之前的工作现场,下面是bug管理的操作方法:

 2、feature分支

git branch -D <name> :强制删除未合并的分支

feature分支是一种为了开发新功能创建分支的策略,新功能一般都具有不确定性,就有可能在开发一定程度不需要开发这个功能,这时需要删除这个分支,但是又没有合并,所以强制删除未合并的更多是用在feature分支。

五、多人协作管理

git remote -v  :查看远程库信息。

git push origin branch-name :推送本地分支到远程。

git pull :如果推送失败,先抓取远程的新提交到本地合并

git checkout -b branch-name origin/branch-name :在本地创建和远程分支对应的分支,本地和远程分支的名称最好一致。

git branch --set-upstream branch-name origin/branch-name :建立本地分支和远程分支的链接。