![](/img/trans.png)
[英]How to delete GIT branch from master in remote repo and start a new branch from another branch?
[英]How to transfer a Git repo to master branch of another
我剛剛完成了我的模板引擎 Squirrelly 的開發。 我將當前版本存儲在https://github.com/squirrellyjs/squirrelly的 GitHub 存儲庫中,並將新版本存儲在https://github.com/squirrellyjs/squirrelly-next 。
我的問題與最終在 NPM 上發布有關。 最初我計划在squirrelly-next
發布,然后稍后合並,但我想我決定只在squirrelly@8.0.0
發布。
然而,問題是所有新的開發都在squirrelly-next
庫中,我需要以某種方式將代碼和歷史記錄到squirrelly
庫(帶有v7
的分支)。
我實際上只是考慮將https://github.com/squirrellyjs/squirrelly重命名為https://github.com/squirrellyjs/squirrelly-v7並將https://github.com/squirrellyjs/squirrelly-next重命名為https:// /github.com/squirrellyjs/squirrelly 。 這會不會有任何潛在的缺點? 如果是這樣,我怎么能得到我的Git從回購squirrelly-next
來的主分支squirrelly
?
可能有多種選擇可以做到這一點,但是,我正在描述我最常用的一種方法是您可以在項目中添加兩個存儲庫。
假設有一組作為你的原點,
https://github.com/squirrellyjs/squirrelly
您可以通過git remote -v
檢查它,它為您提供列表或遠程存儲庫。
您需要創建一個新的存儲庫,您需要將代碼移動到該存儲庫
https://github.com/squirrellyjs/squirrelly-next
然后,按照以下命令返回到您的項目。
git remote add new-origin
https://github.com/squirrellyjs/squirrelly-next
git fetch new-origin
就是這樣,
現在,如果您想將任何分支從 origin 移動到 new-origin,請按照以下步驟操作。 假設我正在做一個例子,我們想將舊源的主分支移動到新源
我們只需要檢查我們舊來源的 master 分支
如果新存儲庫上不存在分支
git push new-origin master
如果存在,那么首先您需要在本地獲取新的存儲庫分支
git checkout new-origin/master
在本地創建分支。
git checkout new-master
在將 master 合並到 new-master 之前,我們需要 rebase if new-master with master
git checkout master //which is from old repository.
git rebase new-master
解決沖突(如果有)
git checkout new-master
git merge master
git push new-origin/master
這將有最新的代碼以及來自舊存儲庫的代碼。
那么你需要在本地為分支設置跟蹤,
git branch --set-upstream-to=new-origin/master
或者您可以刪除舊原點並將新原點重命名為原點
git remote rm origin
git remote rename new-origin origin
如果您按照第二步操作,則無需更改分支的跟蹤信息。
我意識到嘗試將我的新存儲庫與舊存儲庫合並實際上並不是必需的,因為它們具有不相關的歷史記錄,而新存儲庫是從一個空存儲庫開始的。
所以,我最終只是使用https://stackoverflow.com/a/34100189/7983596創建了一個新的空白分支。
然后,我將遠程路徑添加到我的新存儲庫,並將我的新存儲庫與我的新空白分支合並(小心:我需要先git add .
和git commit
)。
之后,我按照本指南: https : //multiplestates.wordpress.com/2015/02/05/rename-a-local-and-remote-branch-in-git/將我的舊主分支重命名為v7
,然后重命名我要master
新空分支。 (我不得不更改 GitHub 上的默認分支)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.