如何在离线时快进分支

时间:2016-12-13 09:44:02

标签: git offline

当我在线期间git fetch编辑时,如何快进分支机构,现在我处于离线状态,并希望快进到我之前提取的状态。

例如我离线并执行以下操作:

$ git checkout develop
Switched to branch 'develop'
Your branch is behind 'origin/develop' by 37 commits, and can be fast-forwarded.
  (use "git pull" to update your local branch)

尝试使用git pull时,我得到:

$ git pull
ssh: Could not resolve hostname <hostname>: Name or service not known
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

在这种情况下我需要使用什么命令?

3 个答案:

答案 0 :(得分:5)

由于git pull基本上是git fetch + git merge,而您已经fetch并且在离线时无法再次执行此操作,您只需执行{{} 1}}。

或者你可以做git merge origin/develop即使没有快进也能正常工作。

编辑:更多选项。 另一种方法是在切换到它之前进行git reset --hard origin/develop - 你不能改变当前的分支,但你可以更新&#34;任何国家的任何分支,只要它不是最新的。对于当前分支,您必须使用git branch -f develop origin/develop

答案 1 :(得分:0)

git pullgit fetch的快捷方式,后跟git merge

由于您已经完成git fetch,所以您只需要运行另一半:git merge

答案 2 :(得分:0)

替代上述答案:

您可以直接在想要的位置签出分支机构

git checkout origin/develop

然后删除旧的本地分支:

git branch -D develop

并在新提交时重新创建它,如下所示:

git checkout -b develop