Git:在提交中分离出冲突的帅哥

时间:2018-03-16 14:11:31

标签: git

我在变基础,我有两个承诺A和B,我想以相反的顺序申请,B然后A,但他们发生冲突。有没有办法将第二个提交B分成两个提交:B1只包含不与A冲突的帅哥,而B2只包含冲突的帅哥?

我曾经拥有自己的补丁管理工具,它有一个sift命令为我做了这个。当然,Git在各方面都比我的工具更好,但我错过了这个功能。

1 个答案:

答案 0 :(得分:1)

交互式rebase本身(我假设你已经在使用)将帮助你顺利解决这个问题。为了完整地回答这个问题,我们会注意到,可以通过在man git-rebase查找standard <- function(dataframe = mtcars){ var.names <- names(dataframe) dataframe$s <- as.data.frame(lapply(dataframe[, var.names], scale)) dataframe } # Example: (d <- standard()) # HERE I see the new standardized variables with prefix "s." d$s.wt # NULL # but HERE I can't access the standard variables!!! (或--interactive)选项找到更多信息。

一个粗略的例子:

-i

这将打开您的编辑器,每个提交都标记为git rebase -i HEAD~5 # rebase starting on some earlier commit 。将您要拆分的那个更改为pick,然后保存并关闭该文件。

rebase将在此提交后立即停止,允许您修改或以其他方式更改历史记录。在您的情况下,您将需要重置为它之前的提交,然后在其位置进行新提交,然后继续rebase过程。您可以使用edit--patch选项-p来部分添加文件。

git add

最好仔细检查最终结果是否与之前的结果相符。 Git会将git reset HEAD^ git add -p <file> # -p is optional, use if needed git commit -m 'First part' git add -p <file> # -p is optional, use if needed git commit -m 'Second part' 设置为指向您在启动rebase之前的提交,因此您可以简单地对此进行区分以查看没有更改(或者更改对应于您在rebase中故意执行的任何操作)。

ORIG_HEAD

我希望这会有所帮助。

相关问题