[英]git checkout and file directory behavior
我一直在探索git,我注意到當我在終端中簽出不同的分支時,我注意到finder中反映的更改。 因此,如果branchA
具有file1, branchB
具有file1以及file2,並且我運行git checkout branchA
,則在finder目錄中查找file1。 但是,如果我運行git checkout branchB
並在finder中查看,我會看到file1,file2。 好,很好。 git似乎根據簽出的分支來修改當前目錄。
但是,我最近克隆了一個遠程倉庫。 可以說master里面有file1就是這樣。 我在師父 我比創建newBranch並簽出它。 我運行echo "test" > test.txt
。 現在,當我結帳時,查找器中將顯示兩個分支test.txt。 但是我是在newBranch(而不是master)中檢出時添加了text.txt。
我什至在結帳回master時也很難在finder目錄中看到這個新的text.txt文件。 克隆后不應該恢復到初始狀態。 什么時候只包含file1? 當我結帳到實際添加它的新分支時,我將看到file1 + test.txt。 我如何理解這種行為?
從未使用git add text.txt
或git add .
git add text.txt
添加到git的跟蹤中git add .
。 因此,git會忽略此文件並將其保留,僅更改它正在跟蹤的文件。
現在,當我結帳時,查找器中將顯示兩個分支test.txt。 但是我是在newBranch(而不是master)中檢出時添加了text.txt。
您的工作目錄和暫存區將與您一起“移動”到所有分支。 它們與任何分支都不相關。
每當更改分支時,僅HEAD都會更改。 workdir +索引保持不變。 這就是為什么您看到文件的原因。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.