2017-02-27 62 views
0

当使用Git,这似乎是一个好主意,fetchmerge(如本blog指出的),而不是仅仅为了让拉自己在合并之前查看更改。 这似乎是一种合理而安全的方式来做事,我可以追踪到目前为止。小心使用Git拉:选择(手动)从origin/master的合并掌握

但是,如果我再做主产地和/主之间的git diff什么,决定了大部分的更新都不错,但一两件事情需要修正?有没有办法“手动”合并?我正在寻找类似于合并冲突后得到的编辑内容,这种冲突可让您决定每次更改 - 有点像git add --patch

我想是有编辑东西的力量合并origin/master的到我自己的主人之前,最好有我最喜欢的difftool。 我的理解,这可以通过应用改变master,然后强制与git push -f推来完成,但是这似乎有点残忍和不必要的。

在另一方面,cherrypick听起来像是一个非常有前途的名字,但只允许选择上的文件提交,而不是实际的变化。

怎样才能做一个高度选择性/手动合并? docs的合并策略似乎都不允许对此进行足够的手动控制。

回答

2

你做合并的那一刻,使用参数--no-commit

git merge --no-commit <branch> 

这将在创建提交时停止合并,将您的状态保留为未完成合并,这与发生冲突时完全相同。

从这个状态,你可以diff和进行必要的修改。

+0

感谢,那是很容易的添加 – untergam

+0

的大块基于重置为接受的答案的一部分 –