簡體   English   中英

如何從forked repo更新pull請求?

[英]How to update a pull request from forked repo?

所以我首先分叉了一個回購,然后提交了一個分叉的回購。 然后我打開了拉取請求。 pull請求列出了我想要的所有更改。

在審核了我的拉取請求之后,回購所有者希望我在接受之前做出一些更改。 我已經在我的fork中進行了這些更改,現在如何使用這些更改更新pull請求(或者這不是我應該如何處理它)?

你做得對了。 拉取請求將自動更新。 過程是:

  1. 開拉請求
  2. 根據您當地倉庫中的反饋提交更改
  3. 推送到fork的相關分支

pull請求將自動在pull請求討論的底部添加新提交(即, 它已經存在,向下滾動!

在GitHub中更新pull請求就像將所需的更改提交到現有分支(與pull請求一起使用)一樣簡單,但通常也需要將更改壓縮到單個提交中:

git checkout yourbranch
git rebase -i origin/master

# Edit command names accordingly
  pick   1fc6c95 My pull request
  squash 6b2481b Hack hack - will be discarded
  squash dd1475d Also discarded

git push -f origin yourbranch

...現在,pull請求只包含一個提交。


關於變基的相關鏈接:

只需按下pull請求引用的分支即可。 只要拉取請求仍然打開,它應該自動更新任何添加的提交。

我用以下步驟做到了:

  1. git reset --hard <commit key of the pull request>
  2. 我的代碼改變了嗎?
  3. git add
  4. git commit --amend
  5. git push -f origin <name of the remote branch of pull request>

如果在Windows上使用GitHub

  1. 在本地進行更改。
  2. 打開GitHub,切換到本地存儲庫,雙擊存儲庫。
  3. 將分支(靠近窗口頂部)切換到您從中創建拉取請求的分支(即比較的fork側的分支)
  4. 應該看到右邊輸入提交注釋的選項,並提交對本地倉庫的更改。
  5. 單擊頂部的同步,除其他外,將您的提交從本地推送到GitHub上的遠程分支。
  6. 拉取請求將通過附加提交自動更新。 這是因為pull請求表示fork分支的diff。 如果您轉到拉取請求頁面(您和其他人可以對您的拉取請求發表評論的頁面),則“提交”選項卡應該包含您的其他提交。

這就是為什么在開始更改自己的更改之前,應該為計划放入拉取請求的每組更改創建一個分支。 這樣,一旦你發出了拉取請求,你就可以創建另一個分支並繼續處理其他任務/功能/ bug修復,而不會影響之前的拉取請求。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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