Git学习day03

一、创建与合并分支

1、查看分支:git branch,列出一系列分支,带*号的是当前分支

2、创建分支:git branch <name>

3、切换分支:git checkout <name>

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

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

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

二、合并冲突

1、创建一个新分支feature1,修改内容并提交

git checkout -b feature1

vi readme.txt(在readme.txt文件中增加一行内容,":wq"保存)

git add readme.txt

git commit -m "添加一行"

2、切换到master分支,修改内容并提交

git checkout master

vi readme.txt(在readme.txt中添加一行新内容)

git add readme.txt

git commit -m "添加另一行"

3、将feature1分支与master分支合并,会出现合并冲突

git merge feature1

git status可以用这个命令查看

4、合并冲突解决办法:手动修改readme.txt里面的内容

vi readme.txt

git log --graph --pretty=oneline --abrrev-commit,可以看到合并分支图

三、分支管理策略

在切换到master分支合并的时候不用Fast Forward模式

git merge --no-ff -m "without fast forward" dev

使用这个命令是能够看出有历史合并的,但是如果不使用这个命令就看不到历史合并消息,但是合并之后的内容是一样的吧!!!

四、bug分支

当你工作(dev分支)做到一半的时候,你的boss要让你修复一个bug,但是你那一半的工作并没有完成,还不能提交,那么如何先停止手头的工作并且去修复bug呢?你可以将你的工作“雪藏”一段时间,创建新的分支修改bug提交后再将其解冻。(为什么不可以直接创建分支进行修改,不同分支不是互补干扰的吗?难道是提交分支的时候一起提交的吗?见第2点)

1、git stash命令可以将当前的工作分支“雪藏”

2、git status注意,一定要用这个命令查看当前工作区是否是干净的,只有工作区是干净的才能够放心的修改

2、git checkout master切换到需要修复的分支上面

3、git checkout -b issue-01创建新的分支用来修复bug

4、修改之后切换到master分支并合并issue-01分支

5、git checkout dev切换到你的工作分支

6、git stash list这个时候用git status查看工作区是干净的,因为你的工作区间被雪藏了,使用这个命令就能看到被雪藏的项目了

7、git stash pop这个命令可以恢复并删除stash里面的内容,它相当于两个拆分的命令:git stash apply 指定的apply名称(恢复stash中的内容,可以使用git stash list查看可以恢复的内容名称)+git stash drop(删除stash中的内容)

五、强制删除feature分支的一个未合并的分支

git branch -D <name>使用-D是强制删除,如果使用-d是删除会失败

六、多人协作

1、查看远程库的信息:git remote

2、查看远程库更详细的信息:git remote -v

3、向远程库推送:git push origin master(/dev)其中origin是远程库名,master或者dev等等是你需要推送的仓库名

原文地址:https://www.cnblogs.com/BASE64/p/11210106.html