在我目前的項目中,我使用的是開源論壇(https://github.com/vanillaforums/Garden)。我打算做這樣的事情:Git子樹工作流程
git remote add vanilla_remote https://github.com/vanillaforums/Garden.git
git checkout -b vanilla vanilla_remote/master
git checkout master
git read-tree --prefix=vanilla -u vanilla
這樣我可以做出改變成香草文件夾(如更改配置),並提交到我的主分支,我也可以切換到我的香草分支獲取更新。我的問題是,當我嘗試合併分支一起
git checkout vanilla
git pull
git checkout master
git merge --squash -s subtree --no-commit vanilla
git commit -a -m "update commit"
的問題是,「更新承諾」在我提交的頂雲和「覆蓋」我的變化。我寧願讓我的提交在更新之前重播。有沒有簡單的方法來做到這一點?我不擅長git,所以也許這是錯誤的做法。另外,我真的不想把我的歷史和香草歷史混爲一談。
我有同樣的問題,我只想這樣做(從http:// git-scm。com/book/en/Git-Tools-Subtree-Merging):「Rack項目中的所有更改都已合併並準備在本地提交,您也可以做相反的操作 - 在主分支機架子目錄中進行更改然後將它們合併到您的rack_branch分支中,以便將它們提交給維護者或將其推送到上游。「然後執行合併命令。他們提到它,但沒有示例命令。 – Rivera
@ernipiggy您是否找到了從子樹推送的方法? – abel
@abel我試着在下面解釋 – Rivera