[英]How to delete GIT branch from master in remote repo and start a new branch from another branch?
我不小心從原點的 master 分支創建了一個新分支,並將我的更改提交到該分支。
讓我們調用我創建的新分支Accidental_Branch
。
但是我應該從另一個分支創建新分支,比如說Feature_Branch
。 Master 分支不是最新的,我的團隊將所有更改提交到我應該從中創建新分支的Feature_Branch
。 這就是我要的。
刪除我創建的分支,即Accidental_Branch
。 我不想丟失我在本地所做的更改,因為我想使用該更改創建一個新分支。
從Feature_Branch
創建一個新分支。 並提交更改。 更改含義,我已提交給Accidental_Branch
的更改以及我未提交的本地更改。
請幫幫我。 我是 GIT 的新手。
如果您不想丟失未提交的數據,可以使用$ git stash
命令臨時但安全地保存數據。 這會將數據存儲在一個隱藏的地方。 之后,您可以使用$ git checkout -b {new_branch_name}
在分支之間切換或創建新分支
現在,您將登陸新的分支機構。 在此分支中,您可以獲取在使用$ git stash apply
命令之前存儲的數據。
之后,您可以使用以下命令安全地刪除之前創建的分支:
要刪除本地分支,請使用以下命令:
$ git branch -d {branch_name}
您可以使用 -D 選項強制刪除分支,如下所示:
$ git branch -D {branch_name}
您可以使用以下命令刪除遠程分支:
$ git push origin --delete {branch_name}
看看這是否是您正在尋找的。 但是您在問題中也說過您已對分支進行了更改。 如果您已提交更改,則存儲將不起作用。 在這種情況下,請稍微澄清一下您的問題。 如果您可以 state 問題中的分支名稱,那就太好了。
要保存未提交的更改,您可以使用git stash save "optional stash-message"
生成存儲(兌現所選文件)。
所以你可以緩存你的文件,這樣你就不會丟失它們。 在git stash
之后,您可以通過git branch -d <branch_name>
local 和遠程刪除git push origin --delete <branch_name>
刪除意外生成的分支
Checked out the branch where you will start your new branch ( git checkout <branch_name>
) and create there your new branch with git branch <branch_name>
and checked out this as explain above and then apply your generated stash with git stash apply stash@{0}
。
git stash
的工作原理在此網站博客上進行了簡單說明。
如果您意外分支中的更改已經推送到遠程服務器,那么git stash
不起作用。 在這種情況下,您必須還原提交,其中包括您不想丟失的更改。 git revert
命令將創建具有相反效果的新更改,從而撤消指定的舊提交,因此更改再次可用且不會丟失。
在git revert
后,您在工作目錄中有更改的文件,您可以創建新分支。 如果新分支從另一個分支開始,您必須再次存儲未提交的文件,創建並簽出新生成的分支並將存儲應用到該分支中,如上所述。
您可以將創建的提交重新定位到您想要的位置。
根據有多少,手動創建一個新分支可能更容易,一次挑選一個並刪除舊分支。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.