繁体   English   中英

“git apply”和“git fetch”有什么区别?

[英]what's difference between the 'git apply' and 'git fetch'?

当我从 gerrit pull patch 时,一个问题来了:
“git apply”和“git fetch”有什么区别?

cp patch /the/path/save
git apply patch

git fetch ssh://someone@gerrit.(SOME INFOMATION)  && git cherry-pick FETCH_HEAD

它们是一样的吗? 或者先做 a 然后做 b

a,b 不能同时做。看起来他们做的是同一件事,但我仍然无法理解它们之间有什么区别。

即使提供相同的提交内容,结果也会不同:

  • git cherry-pick将创建一个提交,该提交是指定提交的副本并保留原始提交信息(作者、作者日期、提交消息)
  • git apply将读取差异/补丁文件并将其应用到您当前的工作目录。
    不会创建提交,如果您确实提交了结果更改,则原始提交信息将不在该提交中。
    (除非你自己手动添加)

但是,还有git am -k可用于导入由git format-patch -k创建的补丁。 然后你应该以一个提交的副本结束,类似于 cherry-picking。

https://git-scm.com/docs/git-am https://git-scm.com/docs/git-format-patch

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM