2016-08-24 381 views
1
  1. 我在master分支,
  2. 我犯的一切
  3. 然後創建一個新的分支 「混帳結賬-b XXX」
  4. 然後我切換回主 「混帳結賬大師」
  5. 然後我刪除與主分支的一切,而不使用「混帳RM」
  6. 我checkouted分支XXX,分支切換時,它顯示了一個長長的清單,每一個文件有一個狀態「d」
  7. 然後我發現分支xxx也有一個空文件夾。

這不是因爲我可以在分支XXX與恢復問題「GT的復位 - 硬頭」爲什麼一個分支的更改會影響git中的其他分支?

我只是想知道爲什麼在一個分支刪除行爲可以影響其他分支?分支機構不存儲所有內容嗎?

+0

你刪除後提交嗎?請顯示你的'git status'。 –

回答

2

  • 然後我試圖合併使用 「GIT中合併XXX」 我的一個分支,它表示 「alread更新日期」
  • 發生這種情況是因爲您的xxx分支已合併爲,此後xxx沒有任何更改。

  • 我checkouted到分支XXX,分支切換時,它顯示了一個長列表,每一個文件有一個狀態 'd'
  • 你還沒「T提交更改而切換到分支 XXX,因此,所有的更改移動到該分支

    我只是想知道爲什麼刪除BEH一個分支上的行爲是否會影響另一個分支?分支機構不存儲所有內容嗎?

    是的。但是,您在分支之間移動您的更改而沒有提交,因此您可以在每個「最新」分支中看到它。只要某處提交它,它會表現爲預期

    編輯: 刪除的文件是相同的操作修改爲git的,所以你要提交更改刪除後,步驟5和6

    之間的某處
    +0

    我轉載了它,似乎如果我沒有在分支xxx中提交,它只是它的父項的一個點,所以父項的任何更改都會反映在它自己的分支中。你能否介意更新你的推薦信息,而不是接受它? –

    +0

    @AlbertGao你有點不對。當您對跟蹤文件進行更改(即刪除它)時,它處於* stage *狀態。然後,您可以移動到任何「最新」分支,並且這些更改將會跟隨您。然後你可以在任何「最新」分支上提交它,這個刪除只會影響當前分支。 git分支中沒有父子關係,一旦分支從「父」分支出來,它與其他分支具有相同的等級狀態。 –

    +0

    感謝您的澄清,所以它意味着任何「階段狀態」(我使用「git add」)會在我更改分支時跟隨我? –

    0

    爲了更好地理解git分支,如果您使用Windows,請嘗試使用應用程序「Git Extensions」。這個應用程序顯示您的回購中的所有分支,它是理解更簡單。

    相關問題