簡體   English   中英

維護與上游同步的分支

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM