Git Fetch / Pull混乱

时间:2016-09-20 22:30:51

标签: git github dvcs

我是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。

如果是这样,为什么会出现这种差异呢?

问题链接:understanding git fetch then merge

PS:评论中的链接建议的答案是正确的。但是我想知道

git fetch origin 

从所有分支中提取,包括当前分支。那么为什么只在

的情况下才进行检查
git fetch origin master:master

我无法理解此验证背后的原因。 任何帮助都表示赞赏。

由于

1 个答案:

答案 0 :(得分:1)

  

致命:拒绝获取非裸存储库的当前分支refs / heads / dev

此错误通常意味着您正在获取没有远程分支的分支。我在这里做了一些假设,你想从origin repo中获取并合并从dev到你当地分支的最新变化。如果是这种情况,那么您想尝试以下内容:

git fetch origin
git merge origin/dev