簡體   English   中英

如何從遠程倉庫中的 master 刪除 GIT 分支並從另一個分支啟動新分支?

[英]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 這就是我要的。

  1. 刪除我創建的分支,即Accidental_Branch 我不想丟失我在本地所做的更改,因為我想使用該更改創建一個新分支。

  2. 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.

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