2011-06-03 208 views
1

我是新來的git,使用svn多年。 我創造了我的主人,然後從「主」目錄中創建一個分支:爲什麼我的新Git分支是空的?

git branch Dev 
git checkout Dev 

但不必須與它相關的任何文件分支。我認爲它是我對git分支的誤解。有人想解釋嗎?當我在svn創建一個分支時,我得到了一個完整的回購值得的東西。

+2

您創建了主人並且...您是否向倉庫添加了任何文件? ('git add','git commit') – 2011-06-03 19:29:25

+1

關於Git和SVN如何處理合並以及擴展和分支的不同背景,我強烈建議你[閱讀這個問題的答案](http:///stackoverflow.com/questions/2471606/how-and-or-why-is-merging-in-git-better-than-in-svn)。 – 2011-06-03 19:29:59

+0

@piotr,我認爲它仍然會顯示文件爲untracked,沒有消失... – 2011-06-04 01:58:51

回答

2

分支是git中的一個邏輯概念,它們不像物理存在於文件系統中一樣顛覆。如果你想分支的主人,你需要輸入

git checkout -b NEW_BRANCH_NAME 

這將創建一個新的分支,並將其設置爲你的工作分支。要切換回掌握

git checkout master 

你也可以看到你擁有所有分支的列表做

git branch -a 
1
git checkout -b dev 

簽出的名字開發的一個分支,並自動切換你吧。

git checkout master 

移動你回到主分支

git branch -a 

會告訴你所有的分支你有

+0

我做了所有的分支,但這只是一個空分支?我想到當我將主人分成開發者時,開發者會擁有相同的文件?所以我可以在這些文件的私人版本上工作並在以後合併。我有一個主人,創建了一個分支,並切換到它... – mike628 2011-06-03 19:49:32

+1

是的,當你簽出一個分支時,它會創建一個與你從分支分支相同的分支。你所說的問題不應該刪除任何文件。嘗試做一個git分支-a找出你在哪個分支上。您可能會從pro-git.org上的閱讀中受益 – 2011-06-04 01:57:55

0

分支的概念幾乎相同SVN,但他們的處理方式是完全不同。由於您的本地機器上的回購是完全回購,它可以擁有與您的遠程機器不同的分支機構。您將推動分支機構進出遙控器以獲取並更改分支機構。

要開始一個分支在說'你的'主'分支的頭修訂版,首先確保你git checkout master然後鍵入git branch develop開始一個新的分支,開發,與相同的頭修訂。 Git會改變文件系統來反映你的新分支。

相關問題