cherry-pick 的替代方案
Overriding alternative to cherry-pick
git 中有一个 cherry-pick 命令,它允许我在当前提交之上复制一些提交。但是,它会解决一些我不关心的冲突。什么是 cherry-pick 的替代方法,它只是在当前提交之上复制选择的提交?
我可以手动完成:select 所需提交,复制其文件,将它们保存到非托管文件夹中,select 当前提交将作为新提交的基础,复制存档文件放入 git 工作文件夹。另外,我必须复制提交消息。这是我目前为避免变更冲突所做的巨大麻烦。哪个命令可以帮助我自动实现目标?
您可以使用合并策略选项 'theirs':
git cherry-pick <SHA-1> -Xtheirs
其中 <SHA-1>
是您要挑选到您的分支中的提交的哈希值。
这意味着,在发生冲突的情况下,Git 将始终使用精心挑选的提交版本 ("theirs") 来解决它。
请注意,即使没有该选项,您也可以手动执行相同的操作(但对于许多文件来说这将无法很好地扩展)
git cherry-pick <SHA-1>
error: could not apply <SHA-1>... [Commit Message]
hint: after resolving the conflicts, mark the corrected paths
git checkout --theirs path/to/conflicted_file.php
git add path/to/conflicted_file.php
git 中有一个 cherry-pick 命令,它允许我在当前提交之上复制一些提交。但是,它会解决一些我不关心的冲突。什么是 cherry-pick 的替代方法,它只是在当前提交之上复制选择的提交?
我可以手动完成:select 所需提交,复制其文件,将它们保存到非托管文件夹中,select 当前提交将作为新提交的基础,复制存档文件放入 git 工作文件夹。另外,我必须复制提交消息。这是我目前为避免变更冲突所做的巨大麻烦。哪个命令可以帮助我自动实现目标?
您可以使用合并策略选项 'theirs':
git cherry-pick <SHA-1> -Xtheirs
其中 <SHA-1>
是您要挑选到您的分支中的提交的哈希值。
这意味着,在发生冲突的情况下,Git 将始终使用精心挑选的提交版本 ("theirs") 来解决它。
请注意,即使没有该选项,您也可以手动执行相同的操作(但对于许多文件来说这将无法很好地扩展)
git cherry-pick <SHA-1>
error: could not apply <SHA-1>... [Commit Message]
hint: after resolving the conflicts, mark the corrected paths
git checkout --theirs path/to/conflicted_file.php
git add path/to/conflicted_file.php