2013-07-01 58 views
1

我一直在使用github很長一段時間。現在我有一個項目的多個分支,同時也在一些分支上工作。對於每個分支我都有一個專用於自己的文件夾,我承諾並推送到各個分支。現在我遇到了一種情況,我必須更新其中一個分支,並修改主分支,因爲我在對主分支進行更改之前進行分支。在我做任何承諾之前,我創建了一個「遊樂場」回購協議,並且正在玩它。這是我將從主人到分支的更改合併在一起的方法,我希望獲得關於此方法的所有意見 - 無論是否正確,以及是否還有其他要做的事情。當然,我使用SO計算出了這種方法,但答案在多個問題上都是零散的。但只是想要一個點,我可以驗證我在做什麼!GitHub - 將更改合併到來自主文件夾的其他文件夾中的分支

作爲一個側面說明,當我查找信息時,我看到我不必爲分支創建單獨的文件夾,只能使用1個文件夾。但我更喜歡這種方法 - 維護單獨的文件夾。

這裏是我做的:

# make some changes to master and commit it 

git add . 
git commit -m 'at last!' 
git push -u origin master 

# cd to the branch 

git pull 

git merge origin/master 

# now commit to branch 

git add . 

git commit -m 'updates from master' 

git push -u origin playground-0.1 

能否請你讓我知道我是否按照正確的方法呢?非常感謝!

+0

只是爲了確保 - 你是否在任何時候使用'git branch'命令來處理分支(創建,切換到分支)?如果是這樣 - 何時?如果沒有 - 有什麼特別的理由? –

+0

我所做的是,使用Web界面創建分支,然後將分支克隆到我的機器中的其他子目錄。謝謝! – k25

回答

1

多個文件夾非常好,特別是如果您需要在不同分支中同時工作

您的合併(git pull)似乎是正確的。
另一種方法是用衍合:看「git merge vs. git rebase」,爲了避免像messy history

merges

但是,效果最好,如果:

  • 你是不是已經推你的分支。
  • 您在origin/sameBranch之上重新分配(即,您將您的工作重新分配到接受其他用戶的貢獻的同一分支之上:這與在master之上重新分配工作的分支不同)。

對於不同的分支(例如master和您的分支),合併是更可取的,正如「Why you shouldn’t use git merge --rebase」中所述。

merge

如果master介紹了一些錯誤,你到底知道去哪裏找。

+0

+ 5 - 謝謝!很高興知道我在做什麼並沒有錯。最初我試圖重建,但似乎沒有發生任何事情。猜猜可能是因爲我沒有做拉。此外,我也向我的分支(而不是操場)推送了一些提交,所以我猜不應該改變。並感謝鏈接! – k25

相關問題