我在Ubuntu机器上的ROR工作。我在我的文件中做了一些更改,并用一个msg提交了它。
现在,当我使用git log事务检查时..
我在我的提交消息之上获得了一个新的msg仪式,如Merge Branch'myname'..为什么会这样?
请提出建议..
编辑:
日期:星期一10月11日11:42:29 2010 +0530
Merge branch 'aruna'
答案 0 :(得分:1)
你不应该担心git“merge commit”。合并提交仅包含本地版本的分支与分支的远程版本之间的差异。 (因此,当你拉动并且有任何变化时它们出现的原因)。
重新定位,正如pawien的答案中所建议的那样,是一种避免这些的好办法,但如果你知道自己在做什么,只能 。重新引用应该只用在本地功能分支(您从不推送的分支)中,因为它会重写所有已提交到功能分支的提交。如果您不知道自己在做什么,那么重新定位其他人提交的分支可能会意外删除提交历史记录。
答案 1 :(得分:0)
这是一个git问题,与Rails无关。
所以 - 在git中这是很正常的,它会发生在像这样的情况下
- aruna: X -> Y
/
master: A -> B -> C -> D .....
当您将aruna与master合并时(通过在主分支上执行合并aruna或者只是通过拉[pull is“二合一”命令 - 它使得fetch& merge]),您将获得新的“合并”节点是两个分支的合并(节点C,D& X,Y)
正如你所说,我打赌你不喜欢它。所以可能的解决方案是重新定义aruna分支而不是合并。例如:
# normally commit everything in your aruna branch
git checkout aruna
git add ...
git commit -m "..." ...
git checkout master
git pull # it will just fetch as there is nothing to be merged
git checkout aruna
git rebase master # and solve possible conflicts
git checkout master
git merge aruna # it will *not* make the "merge node"
git push
修改强> 正如其他人所提到的那样 - 如果你已经推动了分支机构,或者你有其他人拉你的分支机构,那么变革实在没有选择。
但仍然 - 如果您要合并本地私有分支,则可以选择变基。这是一种非常常见的情况。当你的分支被命名为“aruna”(你的名字)时,我认为就是这样。但是当我再次考虑它时,没有理由这么认为: - )
在重新定位(本地功能分支)时,您将丢失部分历史记录,表明您并行执行了提交。但权衡的是你将拥有更简单的狭窄树。