簡體   English   中英

git checkout和文件目錄行為

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM