remote 如何重命名本地Git分支?




git遠端分支重新命名 (24)

我不想重命名遠程分支,如本地和遠程Git存儲庫的重命名主分支中所述。

如何重命名尚未推送到遠程分支的本地分支?


git branch重命名可以通過使用來完成

  1. git branch -m oldBranch newBranch

  2. git branch -M oldBranch ExistingBranch

-m-M之間的區別,

-m:如果您嘗試使用-m重命名分支名稱,則會引發錯誤,分支已經存在。 你需要給出唯一的名字。

但,

-M:這將幫助您強制使用給定名稱重命名,即使它存在。 所以現有的分支將完全用它覆蓋......

這是git終端的例子,

[email protected]:~/project/myapp/sunithamakeup$ git branch 
  master
  master0
  new_master
  test
* test1
[email protected]:~/project/myapp/sunithamakeup$ git branch -m test1 test
fatal: A branch named 'test' already exists.
[email protected]:~/project/myapp/sunithamakeup$ git branch -M test1 test
[email protected]:~/project/myapp/sunithamakeup$ git branch 
  master
  master0
  new_master
* test
[email protected]:~/project/myapp/sunithamakeup$ 

所有上述內容都在談論git branch -m 。當然,它很容易操作,但對我來說,記住另一個git命令可能有點困難。 所以我試著通過我熟悉的命令來完成工作。是的,你可能已經猜到了。

我使用git branch -b <new_branch_name> 。如果你現在不想保存舊分支,你可以執行git branch -D <old_branch_name>來刪除它。

我知道它可能有點乏味,但它更容易被理解和記住。希望它對你有幫助。


本地更改分支很容易......

如果您在分支機構上想要更改名稱,只需執行以下操作:

git branch -m my_new_branch

否則,如果您在master或您想要更改名稱的其他分支上 ,只需執行以下操作:

git branch -m my_old_branch my_new_branch

此外,我創建下面的圖像,以在命令行中顯示此操作,在這種情況下,您在master分支上,例如:


1.重命名

如果它是您當前的分支,那就做

git branch -m new_name

如果它是您要重命名的另一個分支

git branch -m old_name new_name

2.跟踪新的遠程分支

- 如果您的分支被推送,則在重命名後,您需要將其從遠程Git存儲庫中刪除,並要求您的新本地跟踪新的遠程分支:

git push origin :old_name
git push --set-upstream origin new_name

分支完成後,重命名分支將非常有用。 然後新的東西即將到來,你想在同一個分支中開發而不是刪除它並創建新的分支。

根據我的經驗,要在Git中重命名本地和遠程分支,您應該執行以下步驟。

多個狀態引用- 在git中重命名本地和遠程分支

1.重命名您當地的分支機構

如果您在分支上,則要重命名:

git branch -m new-name

如果你在不同的分支:

git branch -m old-name new-name

2.刪除舊名稱遠程分支並推送新名稱本地分支

git push origin :old-name new-name

3.重置新名稱本地分支的上游分支

git push origin -u new-name

以下是重命名分支的步驟:

1. switch to branch which needs to be renamed
2. git branch -m <new_name>
3. git push origin :<old_name>
4. git push origin <new_name>:refs/heads/<new_name>

編輯(12/01/2017):確保運行命令git status並檢查新創建的分支是否指向自己的ref而不是舊的。 如果找到對舊分支的引用,則需要使用以下命令取消設置上游:

git branch --unset-upstream

以下是三個步驟:您可以在終端內調用並更改分支名稱的命令。

git branch -m old_branch new_branch         # Rename branch locally
git push origin :old_branch                 # Delete the old branch
git push --set-upstream origin new_branch   # Push the new branch, set local branch to track the new remote

如果您需要更多:一步一步, 如何更改Git分支名稱是一篇很好的文章。


可能正如其他人所提到的,這將是分支命名中的情況不匹配。

如果你有這樣的情況,我猜你在Windows上也會引導你:

$ git branch -m CaseSensitive casesensitive
fatal: A branch named 'casesensitive' already exists.

然後你必須做一個中間步驟:

$ git branch -m temporary
$ git branch -m casesensitive

而已。


如果你想:

  • 重命名git存儲庫,運行: git branch -m <oldname> <newname>
  • 刪除舊分支: git push origin: old-name new-name
  • 使用以下命令git commit <newname>git commit <newname>
    • 然後使用: git push origin new_branch_name:master
  • 如果要檢查狀態,請使用: git status
  • 如果您想退房,請使用: git checkout

簡單的方法:

git branch -m old_branch new_branch         # Rename branch locally    
git push origin :old_branch                 # Delete the old branch    
git push --set-upstream origin new_branch   # Push the new branch, set local branch to track the new remote

有關更多信息,請參閱this


由於您不希望將分支推送到遠程服務器,因此該示例將非常有用:

假設您有一個名為“my-hot-feature”的現有分支,並且您想將其重命名為“feature-15”。

首先,您要更改本地分支。 這可能不容易:

git branch -m my-hot-feature feature-15

有關更多信息,您可以訪問Git中的本地和遠程重命名分支


高級Git用戶可以手動重命名:

Rename the old branch under .git/refs/heads to the new name

Rename the old branch under .git/logs/refs/heads to the new name

Update the .git/HEAD to point to yout new branch name

git branch -m old_branch_name  new_branch_name

要么

git branch --move old_branch_name new_branch_name

如果您願意使用SourceTree (我強烈推薦),您可以右鍵單擊您的分支並選擇“重命名”。


如果要在指向任何分支時重命名分支,請執行以下操作:

git branch -m <oldname> <newname>

如果要重命名當前分支,可以執行以下操作:

git branch -m <newname>

一種記住這一點的方法是-m用於“移動”(或mv ),這就是重命名文件的方式。


如果要更改當前分支的名稱,請運行:

git branch -m [old_branch] [new_branch]

如果要刪除舊的遠程分支,請運行:

git push origin :[old_branch]

如果要刪除舊的遠程分支並創建新的遠程分支,請運行:

git push origin :old_branch new_branch

對於Git GUI用戶來說,它簡單得多。 在Git GUI中,從菜單項Branch:Rename創建的“Rename Branch”對話框的下拉列表中選擇分支名稱,鍵入New Name,然後單擊“Rename”。 我已經突出顯示了在哪裡可以找到下拉列表。


git branch -m old_branch_name new_branch_name

上面的命令將更改您的分支名稱,但您必須非常小心使用重命名的分支,因為它仍將引用與其關聯的舊上游分支(如果有)。

如果要在將本地分支重命名為new​​_branch_name(示例名稱)後將某些更改推送到master中:

git push origin new_branch_name:master (現在更改將轉到master分支,但是您的本地分支名稱是new_branch_name)

有關更多詳細信息,請參閱“ 如何在Git中重命名本地分支名稱 ”。


要在本地重命名分支:

git branch -m [old-branch] [new-branch]

現在,您還必須在遠程服務器上傳播這些更改。

要推送已刪除的舊分支的更改:

git push origin :[old-branch]

推動創建新分支的更改:

git push origin [new-branch]

使用以下命令重命名分支:

git branch -m [old_branch_name] [new_branch_name]

-m :重命名/移動分支。 如果已經存在分支,則會出現錯誤。

如果已經存在分支並且您想要使用該分支重命名,請使用:

 git rename -M [old_branch_name] [new_branch_name]

有關幫助的更多信息,請在終端中使用此命令:

git branch --help

要么

man git branch

  1. 重命名您當地的分支機構。

如果您在分支上,則要重命名:

git branch -m new-name

如果你在不同的分支:

git branch -m old-name new-name
  1. 刪除舊名稱遠程分支並推送新名稱本地分支。

git push origin :old-name new-name

  1. 重置新名稱本地分支的上游分支。 切換到分支然後:

git push origin -u new-name

或者為了快速做到這一點,您可以使用以下3個步驟:

#在本地重命名分支

git branch -m old_branch new_branch  

#刪除舊的遠程分支

git push origin :old_branch  

#推送新分支,設置本地分支以跟踪新遠程

git push --set-upstream origin new_branch   

Referance: https://www.w3docs.com/snippets/git/how-to-rename-git-local-and-remote-branches.html ://www.w3docs.com/snippets/git/how-to-rename-git-local-and-remote-branches.html


PHPStorm:

VCS-> Git->分支......-> Local Branches-> _your_branch_ - >重命名


另一種選擇是根本不使用命令行。 諸如SourceTree類的Git GUI客戶端會消除大部分語法學習曲線/痛苦,導致諸如此類問題之類的問題成為中觀看次數最多的問題。

在SourceTree中,右鍵單擊左側“分支”窗格中的任何本地分支,然後選擇“重命名...”。


要重命名當前分支:

git branch -m <newname>






git-branch