Git管理代码的基础使用、教程(二)

现在让我们来接触分支管理

查看分支

git branch

创建和切换分支使用命令

git checkout -b dev  # -b创建并切换到dev分支
# 相当于两条命令
git branch dev
git checkout dev

切换分支

git checkout <分支名>

合并分支,将分支合并到当前分支

git merge <分支名>

解决合并冲突,当合并的时候出现冲突,可以使用git status查看冲突的情况,git会告诉我们是哪个文件哪里冲突了,于是需要修改冲突文件后再合并。

使用命令  

git log --graph --pretty=oneline --abbrev-commit

可以查看分支合并图!!

删除分支

git branch -d <分支名>
# 默认使用Fast forward模式合并
# 关闭这个模式,使用普通合并,留下合并的历史信息
git merge --no-ff -m “合并版本描述 dev

分支管理策略:

通常我们是不再master分支上面工作的,master分支只用来管理上线的版本,而是在dev分支上工作,在dev分支上再创建出分支给个人工作,个人不时地向dev合并即可, 就像以下这张图。。

1  bug修复分支

修复bug时,我们会通过创建新的bug分支(在哪里修复bug就在哪里创建分支)进行修复,然后合并,最后删除;

当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop,回到工作现场。

2 新功能开发分支

开发一个新feature,最好新建一个分支,开发完成后,将分支合并,并删除分支。

如果要丢弃一个没有被合并过的分支,可以通过git branch -D <name>强行删除。

3 多人合作开发工作模式通常是这样:

  1. 首先,可以试图用git push origin <branch-name>推送自己的修改;

  2. 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;

  3. 如果合并有冲突,则解决冲突,并在本地提交;

  4. 没有冲突或者解决掉冲突后,再用git push origin <branch-name>推送就能成功!

如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令建立连接

git branch --set-upstream-to <branch-name> origin/<branch-name>

最后是分支线不好看,使用git rebase

  • rebase操作可以把本地未push的分叉提交历史整理成直线;
  • rebase的目的是使得我们在查看历史提交的变化时更容易,因为分叉的提交需要三方对比。

到这里,我们已经学会基本git团队协作开发啦~~

猜你喜欢

转载自blog.csdn.net/zizle_lin/article/details/81408231