我正在iOS Xcode项目中使用NSDate-Extensions插件.主仓库有一些错误,似乎在两个Pull Requests中修复:
这些请求仍然是开放的,不会被主回购接受.如何以Git方式将这些添加到我的本地仓库?如果我的本地仓库得到更新,如果他们的Fork稍后更新,那就没问题了:
Jon*_*yJD 17
您可以从命令行提取请求而不添加遥控器:
git pull https://github.com/erica/NSDate-Extensions +refs/pull/6/head
Run Code Online (Sandbox Code Playgroud)
如果您还不确定要这样做,那么您可能希望首先检查该分支:
git fetch https://github.com/erica/NSDate-Extensions +refs/pull/6/head:refs/origin/pull/6
Run Code Online (Sandbox Code Playgroud)
与使用补丁文件相比,这样做的好处是git可以获得实际的提交.所以git可以看到master何时被合并到pull请求中.补丁文件完全没有意识到这种差异.
man*_*lds 15
添加.patch到拉动网址的末尾 - 您可以在您的回购下载并应用补丁:
curl https://github.com/erica/NSDate-Extensions/pull/6.patch | git am
Run Code Online (Sandbox Code Playgroud)
Lee*_*ley 12
您应该添加提供拉取请求的分支,并将它们添加为远程:
找到贡献链接的人(通常只需单击sha1哈希)
做类似的事情:
git remote add githubuser theirgithubfork.gitRun Code Online (Sandbox Code Playgroud)然后你可以轻松地下载他们的变化:
git fetch githubuserRun Code Online (Sandbox Code Playgroud)轻松采取个人提交"
git cherry-pick thesha1fromthepullrequestRun Code Online (Sandbox Code Playgroud)有关完整示例,请想象一下Ruby Capistrano项目中来自RogerE的 pull request(6bbbcc5).
$ 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 6bbbcc5Run Code Online (Sandbox Code Playgroud)