Git Cherrypick从远程存储库中选择单个修订版?
假设有项目存储库(在GitHub上)和my fork(也在GitHub上)。我的fork是相同的,除了包含单个文件的一个修订版(一个bug修复),该修订版尚未被项目存储库接受。我试图向第三方提供安装说明,说明如何下载软件的最新版本,包括我的错误修复 据我所知,他们必须这样做:Git Cherrypick从远程存储库中选择单个修订版?,git,github,git-cherry-pick,Git,Github,Git Cherry Pick,假设有项目存储库(在GitHub上)和my fork(也在GitHub上)。我的fork是相同的,除了包含单个文件的一个修订版(一个bug修复),该修订版尚未被项目存储库接受。我试图向第三方提供安装说明,说明如何下载软件的最新版本,包括我的错误修复 据我所知,他们必须这样做: git clone http://projectrepo git remote add myrepo http://myrepo git fetch myrepo git cherry-pick a12345 git re
git clone http://projectrepo
git remote add myrepo http://myrepo
git fetch myrepo
git cherry-pick a12345
git remote rm myrepo
(假设我不打算使myrepo保持最新状态-我希望我的指示能在我参与该项目之后继续有效,该项目可能很快结束。还假设此文件可能会发生其他更改,因此仅下载整个文件的副本是不安全的。)
这方面有几个次优:
有更好的解决方案吗?你能用一种更简单的方法获得一个版本吗?AFAICT没有必要手动告诉git获取两个回购协议。你可以走了
git clone http://myrepo
cd myrepo; git co <rev/branch> # maybe
git克隆http://myrepo
cd myrepo;吉特公司#也许吧
git/github负责所有细节。AFAICT无需手动告诉git获取两份回购协议。你可以走了
git clone http://myrepo
cd myrepo; git co <rev/branch> # maybe
git克隆http://myrepo
cd myrepo;吉特公司#也许吧
git/github负责所有细节。创建补丁文件并告诉他们应用补丁有什么问题吗?你甚至可以将它保存为要点,以避免通过电子邮件发送 创建修补程序:
git format-patch -1 a12345
应用它:
git clone http://projectrepo
cd projectrepo
wget https://raw.github.com/gist/<patch-file>
git am -3 <patch-file>
git克隆http://projectrepo
cd projectrepo
wgethttps://raw.github.com/gist/
吉特am-3
创建补丁文件并告诉他们应用补丁有什么问题吗?你甚至可以将它保存为要点,以避免通过电子邮件发送
创建修补程序:
git format-patch -1 a12345
应用它:
git clone http://projectrepo
cd projectrepo
wget https://raw.github.com/gist/<patch-file>
git am -3 <patch-file>
git克隆http://projectrepo
cd projectrepo
wgethttps://raw.github.com/gist/
吉特am-3
跳过远程添加/远程rm
:
git clone http://projectrepo
git fetch http://myrepo remote-branch-name
git cherry-pick a12345
如果您知道提交是远程分支名称的头,那么您可以改为git cherry pick FETCH\u HEAD
。跳过远程添加/远程rm
:
git clone http://projectrepo
git fetch http://myrepo remote-branch-name
git cherry-pick a12345
如果您知道提交是远程分支名称的头,那么您可以改为git cherry pick FETCH\u HEAD
。是的,但是这样他们就不会从主项目回购的未来改进中获益。是的,但是他们就不会从主项目回购的未来改进中获益。使用git协议, git://somerepo,速度快得多。git很少拉你已经拥有的对象,它不在乎对象来自哪里。为什么他们需要自己应用补丁呢?你能不能把它们指向你的回购协议,它已经包含了你的错误修复程序?@CharlesB:请看关于不维护myrepo的声明。@jthill:谢谢,我不知道。@SteveBennett:好的,一开始我不懂使用git协议,git://somerepo,速度快得多。git很少拉你已经拥有的对象,它不在乎对象来自哪里。为什么他们需要自己应用补丁呢?你能不能把它们指向你的回购协议,它已经包括了你的错误修复?@CharlesB:请看关于不维护myrepo的声明。@jthill:谢谢,我不知道。@SteveBennett:好的,一开始我不明白Reader,这是一个完美的解决方案。谢谢。呃,这是一个完美的解决方案。非常感谢。