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