我有以下情況。
有一個Gitlab repo,它被初始化為默認分支XXX而不是master。
分支XXX中已經有一些提交了。
目標是重新初始化 repo,其中 master 分支是默認的、空的。現有的修改需要放在一個特性分支中,這個特性分支應該從空的master分支中分出。
更新。 為了更好地解釋這個目標。 目前的狀態:
1-2-3-...-n
^
xxx
期望的狀態:
主
▼
1
2-3-...-n
^
xxx
如果需要的話,添加這種情況允許將分支xxx中的所有現有提交壓制為一個 "初始 "也是有意義的。
uj5u.com熱心網友回復:
直觀地說,聽起來你想從以下方面著手:
o--o--o
^
主人
要這樣:
o---o----o
^ ^
主功能
然而,你還說:
現有的修改需要放在一個特性分支中,這個特性分支應該從空的主干分支中分出。
在 Git 中,沒有"空"分支的概念;一個分支是一個指向一系列提交的最后一個的指標。這意味著你必須將master指向倉庫的第一個提交(即root commit)。
你可以這樣做:
# 創建 "feature "分支,指向當前由 "master "參考的提交。
git branch feature master
# 簽出'master'分支,如果你還沒有的話。
git switch master
# 重置'master'到根提交。
git reset --hard master~2
另外,你可以暫時去掉master分支,當你想將feature"合并 "到master時,只需重新創建它。
這里有一個快速的方法,如@tripleee所建議的:
# Rename 'master' to 'feature'
git branch -m master feature
在這一點上,你將只有feature:
o--o--o
^
功能
將feature合并到master,然后就變成了在feature的同一提交上創建master分支的簡單問題:
git branch master feature
這看起來像這樣:
o--o--o
^
特性,主干
uj5u.com熱心網友回復:
首先,你可以直接在當前XXX創建一個特性分支:
git checkout -b feature XXX
要創建一個新的主干分支,使用--orphaned標志:
git checkout --orphaned master
git rm -rf .
第二條命令是必要的,以便清理作業目錄。
另外
雖然我在現有專案中使用特性分支,但我經常會將一個新專案的前幾個提交直接提交到主干。在這種情況下,我通常只是為當前框架中的新專案生成所有的模板,因此并不真正需要我的團隊所使用的典型代碼審查流程。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/332524.html
標籤:
上一篇:OracleDB:資料顯示為#。
下一篇:在通過terraform創建AzureApp服務時,出現了一個錯誤這里不需要名為"zone_redundant"的引數。
