[英]Git Fetch/Pull confusion
我是 git 的新手,目前正在尝试各种组合来理解 git。
我有一个名为“dev”的分支的存储库。 现在最初我使我的本地与遥控器同步。 然后我直接从 Github 更改了遥控器。
现在如果我使用
git fetch origin dev:dev
然后我收到一个错误
fatal: Refusing to fetch into current branch refs/heads/dev of non-bare repository
但是,以下 pull 命令工作正常
git pull origin dev
在 Stackoverflow 的其中一个答案中提到,fetch 后跟 merge 等效于 git pull。
如果是这样,那么为什么会出现这种差异?
问题链接: 理解 git fetch 然后合并
PS:从下面评论中的链接建议的答案是正确的。 但是我想知道
git fetch origin
从包括当前分支在内的所有分支中获取。 那么为什么只在以下情况下执行检查
git fetch origin master:master
我无法理解此验证背后的原因。 任何帮助表示赞赏。
谢谢
致命:拒绝获取到非裸存储库的当前分支 refs/heads/dev
此错误通常意味着您正在获取一个没有远程分支的分支。 我在这里做了一些假设,您希望从origin
库中获取并合并从dev
到本地分支的最新更改。 如果是这种情况,那么您想尝试以下操作:
git fetch origin
git merge origin/dev
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.