Git分支:分支沒有不同

Git分支:分支沒有不同

這幾天,git出現了問題。

假設我有一個分支「master」。我創建了一個“正常”分支,“git checkout 正常”,然後我稍微更改了程式碼。

如果我“git checkout master”,然後執行“git status”,我在正常分支上所做的更改是可見的,而我在一個完全不同的分支上!

這不是我一直以來的行為。我不得不說我現在完全無能為力。我不知道發生了什麼事。

你能幫我一下嗎?我有 git 2.3.3,並且使用的是 Manjaro Linux。

答案1

您沒有將更改提交給普通的分支。僅更改了工作目錄中的檔案。

即使工作目錄發生變化,您也可以在 Git 分支之間切換。如果沒有衝突,Git 將顯示:

M       test.txt  
Switched to branch 'master'

這並不意味著這些變化現在已經發生掌握分支。它們只是在工作目錄中。所以你現在可以承諾他們掌握( git commit -a) 或查看普通的並在那裡提交。

如果您的本機變更與您要簽出的分支上的變更之間存在衝突,Git 將顯示錯誤:

error: Your local changes to the following files would be overwritten by checkout:  
         test.txt  
Please, commit your changes or stash them before you can switch branches.  
Aborting

在這種情況下,您需要提交這些更改,stash或者完全放棄才能簽出所需的分支。

相關內容