我有一個空的 git repo,首先我在其中創建了一個內容為“pulkitsharma”的 hello.txt 檔案。在此之后,我將它添加到 staging,然后在 master 分支中提交更改。然后我創建了另一個名為“new_branch”的分支,并用“pulkitsharma\[email protected]”更新了hello.txt的內容,并且沒有進行提交。現在,當我結帳到 master 分支時,hello.txt 的內容會自動更新。誰能告訴我們為什么會發生這種情況,因為我認為在結帳到 master 分支期間應該出現
錯誤。為什么 git checkout master 的輸出是
"M hello.txt Switched to branch 'master' "
git init
vi hello.txt
git add .
git commit -m "hello.txt added to master branch"
git checkout -b new_branch
vi hello.txt
git checkout master
uj5u.com熱心網友回復:
git checkout 清楚了:
為了準備作業
<branch>,通過更新索引和作業樹中的檔案,并通過將 HEAD 指向分支來切換到它。保留對作業樹中檔案的本地修改,以便將它們提交到
<branch>.
因此,即使您切換回master.
OP 在評論中添加:
現在我不小心結帳到
master分支。
然后而不是顯示錯誤并詢問提交或存盤為什么它更新master分支中的檔案(在主分支中沒有任何額外的提交)
如“切換分支時如何停止 git 自動更新? ”中所述,您需要:
- 要么在做之前提交(
git commit -a -m "…")。git checkout master - 或者
git stash如果您不想進行“臨時”提交。
稍后,執行git checkout new_branch && git stash pop檢索未提交的代碼。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/332859.html
標籤:混帐 git合并 git分支 git提交 git-checkout
下一篇:git存盤庫的增量包
