我為機器學習管道撰寫了一個藍圖,可以在許多專案中重復使用。當我遇到一個新專案時,我會創建一個分支并在該分支上作業。很多時候,在分支上作業時,我會發現以下內容:
- 在分支上發現的一些代碼更改/改進應該合并到 master。
- 一些代碼更改應該只發生在分支上,因為每個專案都有其細微差別,但模板應該或多或少與主相同。
我在結合第 1 點和第 2 點時遇到問題。有沒有辦法合并從分支到主的一些更改,對我來說似乎很棘手,因為這是一個連續的程序。
uj5u.com熱心網友回復:
如果你是唯一一個在該分支上作業的人,你應該做一個 git rebase -i (interactive rebase) 來重新排序你的提交,把應該合并到 master 的那個放在第一位,并留下最新的那個僅限分行。
git switch myBranch
git rebase -i master
# reorder to get:
m--m--m
\
M--M--M1--b--b--b (myBranch)
完成后,在 M1 處創建一個分支,然后將該分支合并到 master
git switch -c tmp M1
git switch master
git merge b1
m--m--m--M--M--M1 (master)
\
b--b--b (myBranch)
最后,強制推送你的分支,因為 rebase 已經重寫了它的歷史
git switch myBranch
git push --force
(如果您是唯一在該分支上作業的人,那也是最容易完成的)
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/395518.html
標籤:混帐
