[英]Maintaining a branch that syncing with upstream
我打算在github上添加一些基於項目的代碼,例如添加一些適合我項目的自定義選項。
一個想法是fork並創建一個分支以包含我的所有更改。 每當上游有新的變化時,我都會將它們取出並重新綁定到我的分支機構。
假設這些是我的遙控器:
$ git remote -v
my git@github.com:khing/myproject.git (fetch)
my git@github.com:khing/pyproject.git (push)
up https://github.com/upstream/project.git (fetch)
up https://github.com/upstream/project.git (push)
上游有三個提交:A,B,C,我有兩個額外的提交:M,N
所以我猜當前的分支將是這樣的:
up: A--B--C
my: A--B--C--M--N
假設上游有兩個新的提交D和E,我應該獲取和rebase(是的,我可能必須修復合並沖突),所以我猜它會是:
up: A--B--C--D--E
my: A--B--C--D--E--M--N
這是維護我自己的分支,同時保持與上游分支保持同步的好方法嗎?
是。 這就是我在“將原始GitHub存儲庫中的新更新拉入分叉GitHub存儲庫 ”中所描述的內容。
從那個答案(2010年)開始,您可以:
配置為始終從原始上游倉庫拉出
git remote set-url origin https://github.com/upstream/project.git git remote set-url --push origin git@github.com:khing/myproject.git
確保你總是在獲取的內容之上重新定義你的本地提交:
(需要Git 2.9 +,2016年6月,請參閱“ 可以” git pull
“自動存儲並彈出掛起的更改? ”)
git config pull.rebase true git config rebase.autoStash true
那么簡單的git pull
就足夠了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.