【发布时间】:2012-04-08 03:28:36
【问题描述】:
我想要什么:
在所有分支中使用我的本地存储库更新来自服务器的所有新闻提交,但不要合并任何分支(只需加入历史行)。
我正在尝试这个命令
git fetch --force --progress --verbose name@host:/path/to/repository.git
我认为它会正常工作,因为它显示:
From host:/path/to/repository
* branch HEAD -> FETCH_HEAD
但是,这个输出是什么意思?如果我看到日志,它没有更新。如果我从服务器克隆,所有新的提交都在那里。所以...命令不起作用。然后我尝试使用存在于服务器中但不在我的本地存储库中的分支
git fetch --force --progress --verbose name@host:/path/to/repository.git my_branch
结果是:
From host:/path/to/repository
* branch my_branch -> FETCH_HEAD
任何成功...即使我不知道所有分支并且我的分支已更新,我想获取这些更改并可以在我的日志中查看。
有什么办法让它工作吗?
【问题讨论】:
-
你能解释一下加入历史线对你来说意味着什么吗?
-
我可以说:在历史中进行合并...但不是从 2 个分支。换句话说,我只想更新所有的历史,只有这个。
-
你想要的叫做快进合并。它只适用于历史没有分歧的情况。如果是这种情况,
git pull master(相当于git fetch+git merge origin/master)将在历史没有分歧的情况下自动执行此操作。 -
@CharlesB 你是对的。我想要的是
git pull --no-commit。现在我不明白 git fetch 的原因。它只是从服务器下载,所以我可以在离线模式下执行其他任务?