合并自动填入消息,如“合并分支”功能“分支开发”。我总是保持这些消息不变,所以我可以看到合并的分支曾经被调用过。这是这些信息唯一保留的地方。如果删除这些合并消息和分支,就是这样。你无法弄清楚再一次是什么。
我会为某个功能签出一个新的分支,在其上工作,然后切换回我分支的任何分支 - 通常是主人,但不总是 - 然后git merge --no-ff <feature branch>
。这里有一些例子,从一个项目中,我一直在操纵一个角色动画承诺:
* c117bff Make squash joint scaling uniform
* 9eb9ac2 Fix eyelid control limit
* b50c967 Merge branch 'lipWeightImprovements'
|\
| * 6f98ea7 Smooth cheek weighting
| * fdf3f91 Improve lip weights
|/
* 4434223 Merge branch 'hair'
|\
| * a3f3f89 Add hair controls for front half of head
| * 22a6bf4 Add joints for and weight front hair pieces
|/
* c338c14 Move archived script into archive/scripted folder
注意两个合并分支 - 每一个说“合并分支‘什么’”。这是主分支的一个独特方面,我并不是那么喜欢。如果您合并到主设备,它不会将主设备放在合并消息中。如果我已经合并到了“发布”分支,它会在这些消息中添加“释放”。即使我稍后删除了分支头,合并消息告诉我那些分支曾经被调用过。
这里有注意两件事情:生产
- 这个图表是用
git log --all --decorate --graph --oneline
(这些标志可以以任意顺序)。这组4个标志非常常见,大多数人都会将它们别名,并且我已经看到了各种别名。我使用la
作为'全部列出',而这只是4个标志。我还有las
和lass
用于'短'和'超短'版本, -10
和-25
标志,这是我工作的每台机器的不同数字。我喜欢las
显示一半的屏幕价值的物品,lass
显示略低于四分之一的价值。我也有lb
- '列表分支' - 这些的版本,这只是离开-all
标志,所以它只列出我所在分支的历史。
- 当您进行提交时,会移至此图的左上角。直接在左侧的提交线将成为'第一个父',这意味着通过当前分支的历史合并到的提交。总是合并的所有分支在从左边进来。 Git甚至会通过其他行向右划一条线,以便在某些情况下可以环绕左侧,所以分支合并总是从右侧进入,并合并到左侧。通过这种方式,你总能找出你的历史中发生了什么。
如果你想要我的LA /磅的别名,只需要运行这些命令:
git config --global alias.la 'log --oneline --graph --all --decorate'
git config --global alias.las 'log --oneline --graph --all --decorate -20'
git config --global alias.lass 'log --oneline --graph --all --decorate -8'
git config --global alias.lb 'log --oneline --graph --decorate'
git config --global alias.lbs 'log --oneline --graph --decorate -20'
git config --global alias.lbss 'log --oneline --graph --decorate -8'
那将其设置为所有回购(通过你的〜/的.gitconfig文件)。调整数字来品尝。