Git fetch:如何继续我的本地分支?

时间:2017-06-25 06:48:37

标签: git

我正在阅读这篇文章:What is the difference between 'git pull' and 'git fetch'?

并且它表示,一旦你进行了" git fetch",你实际上会在refs / remotes //"下更新你的远程跟踪分支。

如果是这样,请说我有一个名为“dev_branch'它存在于我的本地计算机和远程服务器上。如果我做" git fetch",我可以这样说:

  1. 不会对本地分支机构进行任何更改' dev_branch' ?
  2. 分支&origin; / dev_branch'将作为远程服务器中的分支更新?

  3. 如果我这样做" git pull",我知道它将我的本地分支与远程分支合并。如果我刚刚开设了一个在远程服务器上没有相应分支的本地分支(让我们称之为my_branch),那么" git pull"影响吗?说它不会引起任何改变是否正确?

1 个答案:

答案 0 :(得分:2)

对于问题1和2.是的,你是对的。在

的情况下
  

git fetch

您的本地 dev_branch 不会发生变化,git只会将本地计算机中的 origin / dev_branch 与远程存储库中的对应项同步。 git fetch 的这种行为清楚地描述为here。验证此行为的一种方法是比较:

  

git diff origin / dev_branch dev_branch

对于问题3,如果远程存储库中没有 origin / my_branch 并且您调用

  

git pull

Git会提示错误:

  

致命:未指定远程存储库。请指定URL或   应从中获取新修订版的远程名称。

您可以指定远程分支,您希望通过以下方式将更改与本地 my_branch 合并:

  

git pull remote_repository remote_branch_name

运行 git log 以查看效果:

  

合并git_on_the_cloud_service / remote_repository的分支'remote_branch_name'