分支管理

1 创建与合并分支

情景:在进行多个并行作业时,我们会用到分支。每个分支都有自己的最新代码。master分支是Git默认创建的分支。

git branch //查看分支
git checkout -b branch_A //创建并切换到分支
git checkout branch_A //切换到分支
git merge branch_A //合并branch_A分支到当前分支
git branch -d branch_A //删除分支

因为创建、合并和删除分支非常快,所以Git鼓励你使用分支完成某个任务,合并后再删掉分支,这和直接在master分支上工作效果是一样的,但过程更安全。

2 协作开发

当你从远程仓库克隆时,实际上Git自动把本地的master分支和远程的master分支对应起来了,并且,远程仓库的默认名称是origin。

推送分支

就是把该分支上的所有本地提交推送到远程库。推送时,要制定本地分支。这样Git就会把该分支推送到远程库对应的远程分支上。

git push origin master

但是,并不是一定要把本地分支往远程推送,那么,哪些分支需要推送,哪些不需要呢?

  • master分支是主分支,因此要时刻与远程同步;
  • dev分支是开发分支,团队所有成员都需要在上面工作,所以也需要与远程同步;
  • bug分支只用于在本地修复bug,就没必要推到远程了;

抓取分支

多人协作时,大家都在master和dev分支上推送修改。现在加入一个新的开发者(注意要把SSH Key添加到GitHub)

首先clone代码到本地 https://www.cnblogs.com/suiyilaile/p/10982597.html

默认情况下只能看到master分支。所以需要在本地创建和远程分支对应的分支。本地分支和远程分支的名称最好一致。

git checkout -b branch_name origin/branch_name

当新的开发者(其他开发者)做了修改,提交时若推送失败,先pull拉取最新代码,解决冲突在提交。

pull代码时,可能失败。原因时没有指定建立本地分支和远程分支的关联

git branch --set-upstream branch_name origin/branch_name

再pull。然后解决冲突,再push。

这就是多人协作的工作模式。

合并分支

git checkout master
git merge branch_name

  

原文地址:https://www.cnblogs.com/suiyilaile/p/10991936.html