我正在學習Git。當我創建一個新的(空的)分支時,簽出它並列出它的內容,它顯示來自主分支(我認爲我已經離開)的所有文件。爲什麼是這樣?新的,可能是空的Git分支中的現有文件?
0
A
回答
2
無論您何時結賬至新分行,例如:git checkout -b my-new-branch
,您當前所在分行的所有內容也將存在於您的新分行中。
如果您正在創建一個新分支,爲了啓動一個新項目,您應該很可能會創建一個新的項目/存儲庫。當您想要在項目的特定部分工作時使用分支,但是將其與項目的主要部分保持隔離直至完成,並且可以將分支合併到一起。
+0
明白了,有道理我猜因爲這個詞是「分支」。 – eabates
1
你不(通常)簽出一個新的空分支。你創建一個新的分支,在當前提交時開始。它也不會觸及索引或工作目錄,因此所有尚未提交的修改都顯示在git status
中。
4
您運行的命令 - 無論它是多少,都有多個 - 不會創建新的空分支。它創建一個新的分支,基於與之前分支完全相同的歷史記錄,允許您從該分支轉移。
如果您確實想創建一個全新的分支而沒有任何現有分支的共享歷史記錄,請查看git checkout
的--orphan
選項。
1
我想你剛剛提到的是預期的行爲。 如果您從非空分支創建新分支,它將包含該分支的所有文件+未完成的更改。
在這種狀態下,你的新分支甚至與主人(擁有主人所有的提交)。
由於您將更改提交到新分支,因此與主分支會有所不同。
我猜,你想用的下列選項之一進行:
- 創建新的分支
- 提交更改
- 合併掌握
或者,如果你想做一些不同的事情,而不是改變你當前的項目,你應該創建一個新的存儲庫。
相關問題
- 1. git中現有項目的新分支?
- 2. 是否有可能使用git爲現有文件創建分支?
- 3. 使用Git與現有的文件和更新分支後推
- 4. 是否可以更新git版本控制中所有分支中的文件?
- 5. 是否有可能只跟蹤一個git分支中的文件夾?
- 6. git - 爲所有現有分支添加一個新文件
- 7. git:如何用'dev'分支中的文件更新'master'分支?
- 8. 是否有可能克隆沒有.git文件夾的git repo到一個現有的非空目錄
- 9. git問題:在git倉庫的一個分支中新添加的文件夾在其他分支中可見
- 10. Git新文件出現在所有分支
- 11. 不能推一個新的空白的Git分支
- 12. 是否有可能intellij不提供正確的git分支?
- 13. Git的方法:把一個新的分支在現有的兩個分支
- 14. git是否有可能在不推送的情況下創建一個新的空的遠程分支?
- 15. 爲什麼我的新Git分支不是空的?
- 16. 爲什麼我的新Git分支是空的?
- 17. 讓現有的Git分支跟蹤JGit的遠程分支?
- 18. 創建從現有的Git分支
- 19. 新的git分支從現有的一個不與主合併
- 20. git checkout gh-pages分支有來自主分支的文件
- 21. 是否有可能在git中的多個分支上有版本標籤?
- 22. GIT - 使用所有分支機構的最新版本文件
- 23. Git Update Hook:查找所有推送到新分支的文件
- 24. 新的Git倉庫沒有「主」分支
- 25. 無法在git中查看結帳分支中的新文件
- 26. 切換git分支不更新文件
- 27. 可以在分支中更改的.git文件夾中嗎?
- 28. 如何讓現有的git分支跟蹤遠程SVN分支?
- 29. 如何讓現有的git分支跟蹤遠程分支?
- 30. 如何更新Git分支之間的現有副本?
master的分支應包含master分支中的所有文件。如果我創建一個新的分支'new-feature',那麼它將具有來自先前分支的所有已提交和未提交的文件。 –
謝謝,這解釋了它。 – eabates
我很高興幫助!我從這篇文章中學到了很多關於Git中的提交,分支以及其他所有內容的知識:http://maryrosecook.com/blog/post/git-from-the-inside-out –