我在iOS Xcode项目中使用NSDate-Extensions插件。主仓库有一些错误,似乎在两个Pull Requests中修复:
这些请求仍然是开放的,不会被主仓库接受。如何以Git方式将这些添加到我的本地仓库?如果我的本地仓库得到更新,如果他们的Fork稍后更新,那就没关系了:
答案 0 :(得分:16)
在拉动网址的末尾添加.patch
- 您可以下载并在您的回购中应用补丁:
curl https://github.com/erica/NSDate-Extensions/pull/6.patch | git am
答案 1 :(得分:15)
您可以在不添加遥控器的情况下从命令行提取请求:
git pull https://github.com/erica/NSDate-Extensions +refs/pull/6/head
如果您还不确定要这样做,那么您可能希望首先检查该分支:
git fetch https://github.com/erica/NSDate-Extensions +refs/pull/6/head:refs/origin/pull/6
与使用补丁文件相比,这样做的好处是git可以获得实际的提交。所以git可以看到master何时被合并到pull请求中。补丁文件完全没有意识到这种差异。
答案 2 :(得分:12)
您应该添加提供拉取请求的分支,并将它们添加为远程:
找到提供链接的人(通常只需点击sha1哈希)
执行以下操作:
git remote add githubuser theirgithubfork.git
然后您可以轻松下载他们的更改:
git fetch githubuser
使用“
轻松进行单独提交git cherry-pick thesha1fromthepullrequest
有关完整示例,请设想this pull request (6bbbcc5
) from RogerE on the Ruby Capistrano project。
$ git clone git@github.com:capistrano/capistrano.git
$ cd capistrano
$ git remote add RogerE https://github.com/RogerE/capistrano.git
$ git fetch RogerE
$ git cherry-pick 6bbbcc5
答案 3 :(得分:-2)
您可以像这样提取特定的拉取请求:
git pull https://github.com/erica/NSDate-Extensions/pull/6
git pull https://github.com/erica/NSDate-Extensions/pull/7
imo这比添加遥控器(特别是当它只是一次性修复)或通过卷曲管道容易得多。