我正在阅读这篇文章:What is the difference between 'git pull' and 'git fetch'?
并且它表示,一旦你进行了" git fetch",你实际上会在refs / remotes //"下更新你的远程跟踪分支。
如果是这样,请说我有一个名为“dev_branch'它存在于我的本地计算机和远程服务器上。如果我做" git fetch",我可以这样说:
分支&origin; / dev_branch'将作为远程服务器中的分支更新?
如果我这样做" git pull",我知道它将我的本地分支与远程分支合并。如果我刚刚开设了一个在远程服务器上没有相应分支的本地分支(让我们称之为my_branch),那么" git pull"影响吗?说它不会引起任何改变是否正确?
答案 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'