19

用例:我在 GitHub 上有一些存储库,有人对其进行了分叉并添加了新功能并发起了拉取请求。我无法自动合并它,因为我想先解决一些小问题。

这是一次性活动,我永远不需要这个远程存储库,所以我不想创建本地remote分支。

基本上我想做:

  1. 从远程存储库复制文件并重写我自己的(没有任何与 git 相关的信息)。
  2. 看看我现在的脑袋有什么不同。
  3. 修复一些东西并提交它。

怎么做?

git checkout git://github.com/xxx/xxx.git根本不起作用(失败并出现错误)

git fetch git://github.com/xxx/xxx.git工作,但不更新任何东西

4

3 回答 3

17

你想用FETCH_HEAD.

每当您运行git fetch ...一个名为的魔术引用时,FETCH_HEAD就会创建一个。

尝试例如:

git fetch git://github.com/xxx/xxx.git branch_name && git merge FETCH_HEAD
于 2012-04-17T22:52:12.147 回答
16

对于任何 Git 服务器:

git fetch git://host.com/path/to/repo.git remote-branch-name:local-branch-name
git checkout local-branch-name
于 2014-06-04T17:34:36.413 回答
8

另一种简洁的方法(至少在/来自 Github)是这样获取的:

git fetch repo pull/7324/head:pr-7324

在哪里:

repo指向远程仓库,例如git://github.com/xxx/xxx.git.

pull/7324/head是远程拉取请求。

pr-7324是本地拉请求分支。

然后你可以使用本地 PR 分支来做任何你想做的事情。

资料来源:改编自本次讨论

于 2013-02-08T12:56:33.550 回答