繁体   English   中英

Git 取/拉混淆

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM