git创建、切换、合并、删除分支

创建分支

git branch 分支名

git log --decorate --oneline显示

 

切换分支

git checkout 分支名

 

合并分支

git merge 分支名

关于合并冲突问题的解释:

所谓冲突,无非就是像两个分支中存在同名但内容却不同的文件, Git 不知道你要舍弃哪一个或保留哪一个,所以需要你自己来决定。 此时执行 git status 命令也会显示需要你解决的冲突

 

删除分支

git branch -d 分支名

由于 Git 的分支原理实际上只是通过一个指针记载,所以创建和删除分支都几乎是瞬间完成。

注意:如果试图删除未合并的分支,Git 会提示你“该分支未完全合并,如果你确定要删除,请使用 git branch -D 分支名 命令。

 

关于匿名分支

什么时候会出现这种情况:

1.依次创建三个文件并提交(每创建一个文件提交一次)

我们知道branch 命令创建一个分支,然后使用 checkout 命令切换分支。

如果在没创建分支的情况下执行 checkout 命令,会有怎样的事情发生呢?执行 git checkout HEAD~ 命令:

当前的 HEAD 指针处于分离状态,你可以环顾四周,做一些实验性修改并提交它们,并且你可以在这个状态中丢弃任何你所做的提交,而不影响任何分支,做法是执行 checkout 命令切换回别的分支。

如果你希望创建一个新分支,并保持你所做创建的提交,你可以(现在或稍后)通过使用带有 -b 选项的 checkout 命令实现。例如:

git checkout -b <new-branch-name>

HEAD 指针当前指向 52861cf... 2.txt

大致意思就是说:

呃,说人话就是:你使用了 checkout 命令但没有指定分支名,所以 Git 帮你创建了一个匿名分支,OK,既然是匿名,那么当你切换到别的分支时,这个匿名分支中的所有提交都会被丢弃掉(因为你都没给人家命名,反正以后都找不回了,不丢了干啥?)。因此,你可以利用匿名分支来做做实验什么的,反正不会有负面影响。

猜你喜欢

转载自www.cnblogs.com/pythonyeyu/p/10951159.html