在Git中,cherry-pick保留原始提交的作者、时间戳等,至少在没有冲突时是这样。但是有什么方法可以确定哪个用户执行了将提交带到新分支的cherry-pick? 最佳答案 作者将从原始提交中挑选出来,但提交者(显示为gitlog--format=full)将是进行挑选的人。这个提交者字段是不安全的,因为cherry-pick提交创建最终在cherry-picker的控制之下。跟踪提交创建者(在本例中为cherrypick发起者)的唯一可靠方法是在提交上签字。一个更简单的方法是在git服务器上仔细记录推送。推送引入的提交表明谁进
在manpageforgitcherry-pick:...-xWhenrecordingthecommit,appendalinethatsays"(cherrypickedfromcommit…)"totheoriginalcommitmessageinordertoindicatewhichcommitthischangewascherry-pickedfrom....-rItusedtobethatthecommanddefaultedtodo-xdescribedabove,and-rwastodisableit.Nowthedefaultisnottodo-xsothisop
在manpageforgitcherry-pick:...-xWhenrecordingthecommit,appendalinethatsays"(cherrypickedfromcommit…)"totheoriginalcommitmessageinordertoindicatewhichcommitthischangewascherry-pickedfrom....-rItusedtobethatthecommanddefaultedtodo-xdescribedabove,and-rwastodisableit.Nowthedefaultisnottodo-xsothisop
我遇到了gitcherry-pickX的情况会有一些冲突,但也会创建额外的插入(当用gitdiff验证时)。然后我重新运行gitshowX>my.patch,然后做了patch-p1在我的树上。我得到了更好的结果,有一些冲突,但结果更清晰。git使用cherry-picks有什么特别之处?我使用git1.7.0.4。已编辑:通过更清晰的结果,我的意思是生成的树与gitshowX的结果匹配得更多。,而gitcherry-pick包含更多代码。 最佳答案 当您挑选一个提交时,它会使用提交的所有元数据提交结果,而不仅仅是它所代表的差异-您
我遇到了gitcherry-pickX的情况会有一些冲突,但也会创建额外的插入(当用gitdiff验证时)。然后我重新运行gitshowX>my.patch,然后做了patch-p1在我的树上。我得到了更好的结果,有一些冲突,但结果更清晰。git使用cherry-picks有什么特别之处?我使用git1.7.0.4。已编辑:通过更清晰的结果,我的意思是生成的树与gitshowX的结果匹配得更多。,而gitcherry-pick包含更多代码。 最佳答案 当您挑选一个提交时,它会使用提交的所有元数据提交结果,而不仅仅是它所代表的差异-您
我有两个分支master和development我需要从master分支的开发分支获取一些提交ID,所以我通过cherry-pick来完成,但它显示了一些错误$>gitcherry-pickcf0d52berror:Commitcf0d52b900f990300c3aa17936ddbae1476d461aisamergebutno-moptionwasgiven.fatal:cherry-pickfailed我没有收到此错误,为什么会出现此错误以及我将如何摆脱此错误。 最佳答案 您正在尝试cherry-pickmerge。merg
我有两个分支master和development我需要从master分支的开发分支获取一些提交ID,所以我通过cherry-pick来完成,但它显示了一些错误$>gitcherry-pickcf0d52berror:Commitcf0d52b900f990300c3aa17936ddbae1476d461aisamergebutno-moptionwasgiven.fatal:cherry-pickfailed我没有收到此错误,为什么会出现此错误以及我将如何摆脱此错误。 最佳答案 您正在尝试cherry-pickmerge。merg
解决冲突后如何使用SourceTree继续挑选?如果我正在做rebase并且我遇到了冲突,那么在我单击提交时解决它们之后,SourceTree让我继续rebase。但是如何继续cherrypick操作呢? 最佳答案 cherry-pick有效地将提交A中的更改应用到工作树上并进行提交。这意味着,如果您在cherry-pick期间遇到任何冲突,您需要在解决这些冲突后commit以完成cherry-pick。编辑Edward指出,这仅在您cherry-pick单个提交时才是正确的。选择多个提交时,您可以从控制台运行gitcherry-p
解决冲突后如何使用SourceTree继续挑选?如果我正在做rebase并且我遇到了冲突,那么在我单击提交时解决它们之后,SourceTree让我继续rebase。但是如何继续cherrypick操作呢? 最佳答案 cherry-pick有效地将提交A中的更改应用到工作树上并进行提交。这意味着,如果您在cherry-pick期间遇到任何冲突,您需要在解决这些冲突后commit以完成cherry-pick。编辑Edward指出,这仅在您cherry-pick单个提交时才是正确的。选择多个提交时,您可以从控制台运行gitcherry-p
鉴于两个分支已经fork,并且需要将一个分支(而不是所有分支)的特定提交引入另一个分支,gitcherrypick恰好实现了这一点。一段时间后,需要完全merge两个分支。git将如何知道它已经拥有过去精心挑选的提交,这样它就不会重新引入它? 最佳答案 avoidingduplicatecommit中提到的“tonio'sanswer”文章说:Imaginewehavethemasterbranchandabranchb:o---XNowweurgentlyneedthecommitsb1andb3inmaster,butnotth