2016-09-20 226 views
0

我是git的新手,目前正在嘗試各種組合來理解git。Git取/拉混淆

我有一個名爲'dev'的分支庫。現在最初我把我的本地與遙控器同步。然後我直接從Github改變了遙控器。

現在,如果我使用

git fetch origin dev:dev 

然後我收到一個錯誤

fatal: Refusing to fetch into current branch refs/heads/dev of non-bare repository 

但是,以下拉命令工作正常

git pull origin dev 

在#1的一個回答是前面提到,合併後的提取等價於git pull。

如果是這樣,那麼爲什麼這種差異?

問題鏈接:understanding git fetch then merge

PS:答案從鏈接意見建議下面是正確的。但我想知道

git fetch origin 

從所有分支,包括當前的提取。那麼,爲什麼只有在

git fetch origin master:master 

情況進行檢查,我無法理解這種驗證背後的原因。 任何幫助表示讚賞。

感謝

+0

實際上'拉'是'fetch' +'merge'的快捷方式。但是'dev:dev'的參數在那裏是有所作爲的。請看看這個答案:http://stackoverflow.com/a/32561463/2104879 – mertyildiran

+0

嗨Mertyildiran,謝謝你幫助我。你提出的答案是正確的。 –

回答

0

致命的:拒絕讀取到非純倉庫的當前分支裁判/頭的/ dev

這個錯誤通常意味着你取那並不是一個分支沒有遠程分支。我在此做出一些假設,您想從origin回購倉庫獲取並從最新更改dev合併到您當地的分行。如果是這樣的話,那麼你想嘗試以下內容:

git fetch origin 
git merge origin/dev