Git 重命名分支、删除分支

掌握管理本地/远程分支等最常见的 Git 任务。

Git 的主要优势之一就是它能够将工作“分叉”到不同的分支中。

如果只有你一个人在使用某个存储库,分支的好处是有限的。但是,一旦你开始与许多其他贡献者一起工作,分支就变得必不可少。Git 的分支机制允许多人同时处理一个项目,甚至是同一个文件。用户可以引入不同的功能,彼此独立,然后稍后将更改合并回主分支。那些专门为一个目的创建的分支,有时也被称为主题分支topic branch,例如添加新功能或修复已知错误。

当你开始使用分支,了解如何管理它们会很有帮助。以下是开发者在现实世界中使用 Git 分支执行的最常见任务。

重命名分支

有时候,你或许会错误地命名了一个分支,或者你会想要在内容合并到主分支后,使用同一个分支在不同的错误或任务之间切换。在这种情况下,重命名主题分支就会很有帮助。

重命名本地分支

1、重命名本地分支:

$ git branch -m

当然,这只会重命名你的分支副本。如果远程 Git 服务器上存在该分支,请继续执行后续步骤。

2、推送这个新分支,从而创建一个新的远程分支:

$ git push origin

3、删除旧的远程分支:

$ git push origin -d -f

重命名当前分支

当你要重命名的分支恰好是当前分支时,你不需要指定旧的分支名称。

1、重命名当前分支:

$ git branch -m

2、推送新分支,从而创建一个新的远程分支:

$ git push origin

3、删除旧的远程分支:

$ git push origin -d -f

使用 Git 删除本地和远程分支

为了保持存储库的整洁,通常建议你在确保已将内容合并到主分支后,删除临时分支。

删除本地分支

删除本地分支只会删除系统上存在的该分支的副本。如果分支已经被推送到远程存储库,它仍然可供使用该存储库的每个人使用。

1、签出存储库的主分支(例如 mainmaster):

$ git checkout

2、列出所有分支(本地和远程):

$ git branch -a

3、删除本地分支:

$ git branch -d

要删除所有本地主题分支并仅保留 main分支:

$ git branch | grep -v main | xargs git branch -d

删除远程分支

删除远程分支只会删除远程服务器上存在的该分支的副本。如果你想撤销删除,也可以将其重新推送到远程(例如 GitHub),只要你还有本地副本即可。

1、签出存储库的主分支(通常是 mainmaster):

$ git checkout

2、列出所有分支(本地和远程):

$ git branch -a

3、删除远程分支:

$ git push origin -d

查看远程主题分支的作者

如果你是存储库管理员,你可能会有这个需求,以便通知未使用分支的作者它将被删除。

1、签出存储库的主分支(例如 mainmaster):

$ git checkout

2、删除不存在的远程分支的分支引用:

$ git remote prune origin

3、列出存储库中所有远程主题分支的作者,使用 --format选项,并配合特殊的选择器来只打印你想要的信息(在本例中,%(authorname)%(refname)分别代表作者名字和分支名称):

$ git for-each-ref --sort=authordate --format='%(authorname) %(refname)' refs/remotes

示例输出:

tux  refs/remotes/origin/dev
agil refs/remotes/origin/main

你可以添加更多格式,包括颜色编码和字符串操作,以便于阅读:

$ git for-each-ref --sort=authordate \
    --format='%(color:cyan)%(authordate:format:%m/%d/%Y %I:%M %p)%(align:25,left)%(color:yellow) %(authorname)%(end)%(color:reset)%(refname:strip=3)' \
    refs/remotes

示例输出:

01/16/2019 03:18 PM tux      dev
05/15/2022 10:35 PM agil     main

你可以使用 grep获取特定远程主题分支的作者:

$ git for-each-ref --sort=authordate \
    --format='%(authorname) %(refname)' \
    refs/remotes | grep

熟练运用分支

Git 分支的工作方式存在细微差别,具体取决于你想要分叉代码库的位置、存储库维护者如何管理分支、压扁squashing、变基rebasing等。若想进一步了解该主题,你可以阅读下面这三篇文章:

  • 《用乐高来类比解释 Git 分支》,作者:Seth Kenlon
  • 《我的 Git push 命令的安全使用指南》,作者:Noaa Barki
  • 《Git 分支指南》,作者:Kedar Vijay Kulkarni

via: https://opensource.com/article/22/5/git-branch-rename-delete-find-author

作者:Agil Antony选题:lkxed译者:lkxed校对:wxy

本文由 LCTT原创编译,Linux中国荣誉推出

(0)

相关推荐

  • ubuntu 创建、重命名、删除、复制目录

    以下介绍如何在终端模式使用命令创建.重命名.删除目录 操作方法 01 打开终端 crtl+alt+t打开终端 02 创建目录 mkidr old创建名为old的目录 03 重命名目录 mv old n ...

  • windows如何撤销移动、重命名、复制、删除?

    在windows系统中,有时对文件进行重命名时,不小心命名错误,想恢复原文件名:有时复制文件到文件夹,想撤销复制,但文件夹文件过多,找不到原来文件:想撤销移动,但移动的文件过多,手动选择后再通过剪切, ...

  • Win10怎么批量重命名文件? win10文件夹重命名的教程

    大家在用电脑时,经常会遇到需要批量重命名文件的问题.如果文件不多还好办,不然挨个重命名是很麻烦的事.所以,掌握重命名小技巧还是非常有必要的.下面我们就向大家介绍一下这个简单实用的方法,适用于Win7/ ...

  • 如何给Word2010删除和重命名自定义图表模板

    操作步骤如下所述: 第1步,打开Word2010文档窗口,切换到“插入”功能区。在“插图”分组中单击“图表”命令,如图2011061106所示。 图2011061106 单击“图表”命令 第2步,在打 ...

  • 如何删除或重命名Word2007自定义图表模板

    用户在Word2007中创建的自定义图表模板可以随时进行删除或重命名操作,操作步骤如下所述: 第1步,打开Word2007文档窗口,切换到“插入”功能区。在“插图”分组中单击“图表”命令,如图2011 ...

  • 删除和重命名Word2010自定义图表模板

    第1步,打开Word2010文档窗口,切换到“插入”功能区。在“插图”分组中单击“图表”命令,如图1所示。 图1单击“图表”命令 第2步,在打开的“插入图表”对话框中,单击“管理模板”按钮,如图2所示 ...

  • CentOS下如何删除或重命名乱码文件?

    CentOS下如何删除或重命名乱码文件? 当文件名为乱码的时候,无法通过键盘输入文件名,所以在终端下就不能直接利用rm,mv等命令管理文件了. 当文件名为乱码的时候,无法通过键盘输入文件名,所以在终端 ...

  • Excel无法进行插入.删除.重命名等操作怎么办

    Excel无法进行插入.删除.重命名等操作怎么办 下面是小编给大家介绍Excel无法进行插入.删除.重命名等操作怎么办?希望对您有所帮助!            1.首先我们打开加过密的Excel文件 ...

  • CentOS下如何删除或重命名乱码文件?CentOS下删除或重命名乱码文件的方法

    当文件名为乱码的时候,无法通过键盘输入文件名,所以在终端下就不能直接利用rm,mv等命令管理文件了. 当文件名为乱码的时候,无法通过键盘输入文件名,所以在终端下就不能直接利用rm,mv等命令管理文件了 ...

  • Xshell会话如何删除或重命名

    在使用Xshell进行远程连接时,需要建立会话来连接服务器,但是可能由于某些原因想要将这个会话删除,这时候需要如何操作.下面就一起来学习如何删除/重命名Xshell会话,了解更多有关会话文件的设置. ...