簡體   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