2013-12-12 89 views
0

如果我在分支b-one上,而且我運行的是git commit -m "init commit",然後是git checkout -b b-two,那麼提交是否攜帶到新分支?更一般地說,是提交分支特定?或者當你提交時,你只是在本地機器上提交併可以從任何分支訪問該提交?提交然後簽出git中的另一個分支進行舊提交?

+1

你的新分支股的歷史,直到這一點(https://www.atlassian.com/git/tutorial /混帳分支#!分支)。 –

回答

1
  1. 提交是否攜帶到新分支?是的,但只有當它是一個新的分支。其他現有分支不會在您的歷史記錄中提交。

git checkout命令讓你在由git分支創建的分支之間導航。檢出分支會更新工作目錄中的文件以匹配存儲在該分支中的版本,並且它會通知Git記錄該分支上的所有新提交。把它看作是一種選擇你正在開發哪一行的開發方法。

  1. 更一般地說,是否提交分支特定?不,歷史是共享的。
  2. 或者當你提交時,你只是在你的本地機器上提交?是的,在推動之前,沒有人知道你的提交。
  3. 可以從任何分支訪問該提交?不。「訪問」是什麼意思?如果您的意思是提交歷史記錄或更改的代碼,則只有您提交的更改在分支中創建的分支才具有提交歷史記錄。

當你切換分支未提交的修改更有趣:請閱讀 http://www.gitguys.com/topics/switching-branches-without-committing/

+2

實際上,它*會帶*到新的分支 – prusswan

+1

我相信OP(@oroscioli)在詢問您是否可以使用屬於來自不同分支的提交的更改。答案是,你可以。請參閱櫻桃挑選命令。我發現有必要記住,在一天結束時,分支機構可以方便地組織一系列提交(即,它們不一定會將您鎖定在開發流中)。 – miqid

相關問題