Fork 的工作流程

習慣上我會保持 fork 的 master 和原始 repository 的 master 同步,並且不會直接 commit 自己的變更到該分支。

設定

首先為 fork 設定原始 repository 的 remote:

1
git remote add upstream <remote URL to original repository>

完成後輸入 git remote -v 應該會看到 origin 和 upstream。

然後再從 master 建立新的分支:

1
git checkout -b <my changes>

此後所有變更都 commit 到該分支上。

同步

執行:

1
2
3
git checkout master
git fetch upstream
git merge upstream/master

或是:

1
2
git checkout master
git pull upstream master

以同步 fork 的 master 分支。然後再執行:

1
2
git checkout <my changes>
git merge master