Redian新闻
>
Git 教程:重命名分支、删除分支、查看分支作者 | Linux 中国

Git 教程:重命名分支、删除分支、查看分支作者 | Linux 中国

科技
 
导读:掌握管理本地/远程分支等最常见的 Git 任务。                                   
本文字数:2978,阅读时长大约:4分钟

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

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

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

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

重命名分支

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

重命名本地分支

1、重命名本地分支:

  1. $ git branch -m <old_branch_name> <new_branch_name>

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

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

  1. $ git push origin <new_branch_name>

3、删除旧的远程分支:

  1. $ git push origin -d -f <old_branch_name>

重命名当前分支

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

1、重命名当前分支:

  1. $ git branch -m <new_branch_name>

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

  1. $ git push origin <new_branch_name>

3、删除旧的远程分支:

  1. $ git push origin -d -f <old_branch_name>

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

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

删除本地分支

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

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

  1. $ git checkout <central_branch_name>

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

  1. $ git branch -a

3、删除本地分支:

  1. $ git branch -d <name_of_the_branch>

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

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

删除远程分支

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

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

  1. $ git checkout <central_branch_name>

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

  1. $ git branch -a

3、删除远程分支:

  1. $ git push origin -d <name_of_the_branch>

查看远程主题分支的作者

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

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

  1. $ git checkout <central_branch_name>

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

  1. $ git remote prune origin

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

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

示例输出:

  1. tux  refs/remotes/origin/dev
  2. agil refs/remotes/origin/main

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

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

示例输出:

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

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

  1. $ git for-each-ref --sort=authordate \
  2. --format='%(authorname) %(refname)' \
  3. refs/remotes | grep <topic_branch_name>

熟练运用分支

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

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

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

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

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


LCTT 译者 :六开箱
🌟🌟🌟🌟
翻译: 62.0 篇
|
贡献: 71 天
2022-03-16
2022-05-25
https://linux.cn/lctt/lkxed
欢迎遵照 CC-BY-SA 协议规定转载,
如需转载,请在文章下留言 “转载:公众号名称”,
我们将为您添加白名单,授权“转载文章时可以修改”。


微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
在 Ubuntu Linux 如何安装 H.264 解码器 | Linux 中国Linux 内核 5.18 版本正式发布,新增显卡驱动以及硬件支持 | Linux 中国我如何在 Linux 上扫描家庭照片 | Linux 中国Fedora Linux 36 发布 | Linux 中国微软还有另一个 Linux 发行版,而且是基于 Debian 的 | Linux 中国渔歌子:(二首):逢却春分开百花ONLYOFFICE 7.1 发布:新增针对 ARM 的支持、新的 PDF 查看器 | Linux 中国如何在 Linux 和 Windows 电脑之间共享文件 | Linux 中国分享 8 篇使用 Linux 命令行的技巧 | Linux 中国HydraPaper:一个支持多显示器的 Linux 壁纸管理器 | Linux 中国在 Linux 上使用 sudo 命令的 5 个理由 | Linux 中国Linux 中国开通播客频道:“开源朗读者”和“硬核观察” | Linux 中国Fudgie?令人惊叹的 Budgie 桌面即将登陆 Fedora Linux | Linux 中国洒遍了牺牲的血雨,开出的却是别人的花实测 Linux Mint 升级工具 | Linux 中国CentOS 的继承者 AlmaLinux 9 发布 | Linux 中国使用 watch 和 tail 命令监视 Linux 上的活动 | Linux 中国在虚拟机中运行 Linux 的十大优点 | Linux 中国使用 apt 进行 Linux 包管理 | Linux 中国亚当和夏娃使用 dnf 进行 Linux 包管理 | Linux 中国最适合程序员的 10 款 Linux 发行版 | Linux 中国System76 与惠普合作为开发者提供功能强大的 Linux 笔记本电脑 | Linux 中国Archinstall 新的菜单系统让安装 Arch Linux 更容易了 | Linux 中国老师告诉自己,不要查看分数,结果......Linux 下的 Docker 入门教程 | Linux 中国用 Gwenview 在 Linux 上裁剪和调整照片大小 | Linux 中国【周末早餐】--#一顿早餐的温度,可以治愈一整天#英伟达在提升 Linux 上的 GPU 使用体验上迈出了一大步 | Linux 中国当年十六铺码头邂逅“山羊胡” (上)如何在 Fedora Linux 中安装多媒体编码器 | Linux 中国如何在 Linux 桌面中启用 “激活 Linux” 水印通知 | Linux 中国你的 Linux 启动时有几只小企鹅? | Linux 中国上一个说“丼”不读jǐng的人,已经被我骂哭了好消息!Docker Desktop 现已支持 Linux | Linux 中国
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。