2012-04-17 25 views
9

如何获取/结帐远程存储库而不在本地创建remote分支?Git获取/结帐没有创建远程?

使用案例:我在GitHub上有一些回购,有人将其分叉并添加了新功能并启动了请求。 我不能自动合并它,因为我想先解决一些小问题。

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

基本上我想这样做:从远程仓库

  1. 文件复制并重写我自己的(没有任何git的相关信息)。
  2. 看到与我目前的头部不同。
  3. 修复某些内容并提交它。

如何做到这一点?

git checkout git://github.com/xxx/xxx.git不会在所有的工作(失败,出现错误)

git fetch git://github.com/xxx/xxx.git工作,但是没有任何更新

回答

10

你想用FETCH_HEAD

每当您运行git fetch ...时,都会创建一个名为FETCH_HEAD的魔术参考。

尝试例如:

git fetch git://github.com/xxx/xxx.git && git merge FETCH_HEAD 
+2

是不是一样'混帐混帐拉:// github.com/XXX/xxx.git'? – 2014-06-04 17:31:58

5

另一个整齐方法(至少在从GitHub /)是取这样的:

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

其中:

repo点到远程回购,例如git://github.com/xxx/xxx.git

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

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

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

来源:改编自this discussion

+0

拉取请求结账在http:// stackoverflow上进行了讨论。COM /问题/ 6743514 /如何-可以-I取入的,未合并拉请求换一个分支 - 我 - 不要 - 自己 – 2015-09-14 11:31:17

7

对于任何的Git服务器:

git fetch git://host.com/path/to/repo.git remote-branch-name:local-branch-name 
git checkout local-branch-name