使用git时,fetch
和merge
似乎是一个好主意(正如blog所指出的那样),而不仅仅是为了让自己查看合并前的变化。
这似乎是一种合理而安全的做事方式,到目前为止我可以效仿。
但是,如果我在master和origin / master之间执行git diff
并确定大多数更新都是好的,但有几件事需要修复,该怎么办?有没有办法“手动”合并?我正在寻找类似于合并冲突之后的编辑的内容,这可以让您决定每个单独的更改 - 有点像git add --patch
。
我想要的是拥有编辑内容的能力,然后将origin / master合并到我自己的master中,最好是与我最喜欢的difftool
合并。
我理解这可以通过将更改应用到master
然后强制推送git push -f
来完成,但这看起来有点残酷和不必要。
另一方面,cherrypick
听起来像一个非常有前途的名称,但只允许选择提交,而不是文件的实际更改。
如何进行高度选择性/手动合并? docs的合并策略似乎都不允许对此进行足够的手动控制。
答案 0 :(得分:3)
合并时,请使用参数--no-commit
。
git merge --no-commit <branch>
这将在创建提交时停止合并,将您的状态保留为挂起合并,这与发生冲突时完全相同。
从此状态,您可以进行差异并进行必要的更改。