首先,我對Git很陌生。Git創建一個沒有默認合併的分支
我在我的回購中有一個名爲master
的默認分支,我創建了一個名爲bugs
的新分支,併爲其添加了一個known_bugs.txt
文件。問題是,Git不僅將添加到bugs
分支,而且它還顯示bugs
分支內的master
分支的所有其他文件。有沒有一種方法可以簡單地在創建新分支時不將文件從默認分支合併到新分支中?
在此先感謝:d
首先,我對Git很陌生。Git創建一個沒有默認合併的分支
我在我的回購中有一個名爲master
的默認分支,我創建了一個名爲bugs
的新分支,併爲其添加了一個known_bugs.txt
文件。問題是,Git不僅將添加到bugs
分支,而且它還顯示bugs
分支內的master
分支的所有其他文件。有沒有一種方法可以簡單地在創建新分支時不將文件從默認分支合併到新分支中?
在此先感謝:d
發生了什麼事情是,當你在你的當前上下文創建的git中創建一個分支。如果您在創建分支時沒有任何承諾要掌握,則新創建的分支也將爲空。如果您有2個文件在分支時承諾掌握它,它將採用該提交(2個文件)並將它們移動到您新創建的分支中。
所以,如果你想創建一個空的分支,你有幾種選擇...
git checkout --orphan NEWBRANCH
(其中NEWBRANCH是你分支名)
git rm -rf .
(刪除所有文件)
你可以重訂你的錯誤分支,從掌握的一開始啓動。這樣,它的文件就不會出現在其他分支中。
我對git也很陌生。我搜索了一段時間,發現了三種可能的解決方案。希望可以幫助。雖然你可能不應該以這種方式使用分支。
首先,您可以創建一個新分支bugs
並檢出此分支,然後從master
分支中刪除所有文件,然後創建自己的文件knownbugs.txt
並進行提交。
git branch bugs
git checkout bugs
rm *
echo XXXX > knownbugs.txt
git commit -a -m "New branch with file knownbugs.txt"
其次,你可以創建一個空的初始提交併從它派生你的分支。
git commit --allow-empty
會做這項工作。
更多細節:Creating branches on an empty project in git
第三,你可以手動管理裁判和索引中的git:
git symbolic-ref HEAD refs/heads/bugs
rm .git/index
echo XXX > knownbugs.txt; git add knownbugs; git commit -m
git checkout -f master
git checkout bugs
請參考Creating a git branch without ancestry以獲取更多信息。
這幫了很多謝謝你的答案! – Bennett 2013-02-21 17:34:44
做樹有 「枝」 只是浮在半空中那,還是他們從樹的樹幹開始?這不是一個關於合併的問題。 – hobbs 2013-02-19 00:33:44