如何有选择地编辑和接受在另一个分支中提交的更改而不编辑帅哥?

时间:2015-07-05 16:41:54

标签: git

我想在合并之前选择/编辑来自另一个分支的更改 - 例如,在取回之后。

当存在冲突时,很容易转到冲突的文件 删除/编辑'>>>'之间的文字和'<<<'。 但是当没有冲突时,通常的方法是编辑像我在某些答案answer1answer2中找到的帅哥:

git checkout -p 

git add -p

然而,尽管hunk editing简单,但单个(分裂后)长大块有时不能正确编辑。我认为当number的线条发生变化或''线被无意中移除或转换为'+'线时,就会遇到困难。 另一个问题,甚至可能更重要的是,整个文件不可用。在帅哥之间存在文本空白,否则会使编辑更加舒适。

我想到的一个解决方案是将所有更改模拟为冲突。 这可能吗? 这个answer表示一个复杂的命令序列,其中的注释表明同样复杂(在git root中使用)别名:

git config --global alias.remerge '!sh -c "git show HEAD:${2} > ${2}.HEAD; git show ${1}:${2} > ${2}.${1}; git show $(git merge-base HEAD ${1}):${2} > ${2}; $(git config --get merge.tool) ${2}.HEAD ${2} ${2}.${1};"'

同一个问题的另一个答案提出了最简单的解决方案,即检查另一个工作副本中的另一个分支,这让我想起了我的SVN远程过去。

这些解决方案似乎都不适合常规执行。

[方案的一个示例是当我从某人那里接收代码或文本文件时,他们应该执行大致的贡献,需要定期进行更正。一个更具体的案例可能是软件规范甚至代码或科学论文在他/她的快速和肮脏的审查之后从软件架构师或主管那里获取。]

0 个答案:

没有答案