簡體   English   中英

我可以在分支與其他分支合並的補丁上工作嗎?

[英]Can I work on a branch with patches merged from another branches?

我不確定這叫什么或不是一個好主意,所以如果我要提出錯誤的問題,請告訴我。

我有一個代碼庫,我正在幫助改進從github克隆的代碼庫。 我想首先清除Eclipse報告的一些明顯的警告,然后再清除所有不贊成使用的成員調用。

為了幫助簡化作者的工作,我想提交多個對代碼中類似修改的請求,而不是提交“大量清理工作”,以便他們進行檢查和批准。

我一直在做的是保持他們原來的代碼為master,並為每組相同的更改創建新的分支。 我遇到的問題是,遍歷IDE報告的警告/錯誤列表非常令人困惑,因為每次我移到另一個組時,我都切換回主節點的分支和我所遇到的問題。在另一個分支中固定的ve再次可見。

是否可以只在一個大的“所有”分支上工作,以便更容易忽略我已經解決的問題? 例如,每個“提交”都將成為母版的一個單獨分支。

或者..在一個分支上工作,合並所有其他分支修訂,然后在完成其他地方所做的更改后將其合並。

我的要求有道理嗎? 為此有工作流程嗎?

一種簡單的方法(但要注意)是基於您自己的分支而不是/master創建新分支。 例如:

git checkout -b obvious-warnings origin/master
# work work work, create PR

git checkout -b deprecated-calls
# work work work

git checkout -b fix-findbugs
# work work work

只有一個收獲。 請注意,我只在第一個分支之后放置“創建PR”,而不在其他分支之后。 僅應在上一個PR已被接受后再創建下一個PR。 這樣,只有新提交才會顯示在審閱者的差異中。

這很簡單,我在項目中每天都在實踐中使用它。

別誤會,我通常基於origin/master創建新分支,但是僅在特殊情況下,當新分支依賴於掛起的PR時,我才基於該PR分支創建新分支。

你可以簡單地創建一個 分支關閉主分支。

然后,對於每組更改,只需在分支上添加一個新的提交即可。 如果需要,這使得刪除提交或查看單個提交的更改變得容易。

如果主更新,你可以變基的一個分支回ontop的高手。

這是交互式基礎的工作。 在您自己的分支上進行更改, 但那時對您來說有意義 然后,當您准備要撤消部分工作時,請進行交互式變基,將准備好的更改移到分支的開頭的提交系列中,並用分支提示名稱標記最后一個,以便他們可以僅提取那些,然后繼續:

git checkout -b cleanup
# work work commit commit lalala
# others do the same on master

...o... .... X---Y     master   #
    \
     Mon-Tue-Wed-Thu   cleanup  # this branch not for publication
git rebase -i master
# (move commits and hunks as you like here, the whole point is you can
# work on an overview of a complete set of work and make it ready for 
# presentation/publishing)
...o... .... X---Y     master
                  \
                   A---B   for-upstream  # branch made during a rebase -i `edit` or `exec` stage
                        \
                         j---k---l   cleanup

暫無
暫無

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

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