管理分支:git branch
新建分支的意义:
- 创建一个单独的工作分支,避免对主分支master造成太多的干扰,也方便与他们交流协作。
- 进行高风险的工作时,创建一个实验性的分支,扔掉一个烂摊子总比收拾一个烂摊子好得多。
- 合并别人工作的时候,创建一个临时分支,用临时分支合并别人的工作分支有技巧。
创建分支: git branch 分支名
删除分支: git branch -D 分支名
查看分支: git branch
切换分支: git checkout 分支名
查看当前分支的发展: git whatchanged
查看两个分支的差异: git diff 分支1 分支2
查看版本库中每个分至点呃世系发展:git show branch
合并两个分支:将分支1合并到分支2.
先切换到分支2:git checkout 分支2
把分支1合到分支2:git merge “Merge work in 分支2” HEAD 分支2
或
git pull . 分支2
合并分支时肯定会有冲突,手动解决冲突即可。
逆转与恢复:git reset
使用格式:git reset [--mixed | --soft | --hard] [<commit-ish>]
命令选项:
--mixed:仅是重置索引的位置,而不改变工作树中的任何东西(即,文件中的所有变化都会被保留,也不标记他们为待提交状态),并且提示什么内容还没有被更新。这个是默认的选项。
--soft:既不触动索引的位置,也不改变工作树中任何内容,只是要求这些内容成为一份好的内容(之后才成为要提交的内容)。这个选项可将已经提交的东西重新逆转至“已更新但未提交(Updated but not Check in)”状态。就像已经执行了git update index命令,但是未执行git commit命令一样。
--hard:将工作树中的内容和头索引都切换至指定的版本位置中,亦即<commit-ish>之后的所有跟踪内容和工作树中的内容都会全部丢失。所以,这个选项要慎用。