2017-06-05 58 views
1

我收到了意想不到的事情在git樹中發生。我創建了關老爺的一個分支,但是當我上好像這些都是發生在相同的代碼行作爲主站出現了新的分支進行提交......Git分支仍然與主人在同一行

enter image description here

enter image description here

正如你所看到的,在左邊是master(深藍色)的代碼行,右邊是頂部,我們可以看到Sprint_15,它是一個從master出現的分支,它似乎在同一行提交。我不知道爲什麼會發生這種情況。我希望看到代碼分歧成一個新的行,因爲功能正在合併到Sprint_15,而不是主...

我的想法是,通過合併Sprint_14和Sprint_15在一起,這已經做了一些事情的歷史,但我是不知道爲什麼。

我對git還是比較陌生,所以它的一些基礎仍然讓我困惑。

回答

1

看來你是(你是因爲你說這是正常的新GIT)如何git的作品有點誤會

每個分支並不一定能獲得它自己的線。如果您的分支Sprint_15的基數爲masterSprint_15master之前的任意數量的提交,則它們將共享相同的行。只要master得到一個新的提交,那麼我認爲你會看到你的期望。

你可以像這樣在一個單獨的git倉庫中測試它。

$ mkdir testing && cd testing 
$ git init # should put you on master branch by default 
$ touch testFile.txt 
$ git add -A 
$ git commit -m "initial commit" 
$ git branch newBranch 
$ git checkout newBranch # switch from master to newBranch 

### modify the testFile.txt in some way and then... 
$ git add -A 
$ git commit -m "first commit on newBranch" 

現在,如果你使用相同的工具來看看你的回購,你應該看到的只是一條線,像這樣: same line

現在回到主分支和再拍承諾:

$ git checkout master 
### make another change to testFile.txt 
$ git add -A 
$ git commit -m "second commit on master" 

現在你會看到有每個分支它自己的線像你期待的,是這樣的:enter image description here

+0

這似乎升請給出正確的答案,謝謝你的解釋! –

0

這是一個猜測,但我建議您當前的功能分支似乎與master在同一行上的原因是因爲目前該分支在某些數量的提交之前直接位於master之前。要測試這個,試試看最新的master分支。如果這改變你的配置,使得Sprint_15顯示爲一個單獨的行,那麼我的預感是正確的。

無論如何,如果您有疑問,可以直接從Git bash中直接檢查這些事情。