当前位置: 首页 > 科技观察

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

时间:2023-03-13 16:43:22 科技观察

掌握最常见的Git任务,例如管理本地/远程分支。Git的主要优势之一是它能够将工作“分叉”到不同的分支中。如果您是唯一一个在存储库上工作的人,则复刻的好处有限。但是一旦您开始与许多其他贡献者合作,分支就变得必不可少。Git的分支机制允许多人同时处理一个项目,甚至是同一个文件。用户可以引入不同的功能,彼此独立,然后将更改合并回master分支。专门为某一目的创建的那些分支,有时称为主题分支,例如添加新功能或修复已知错误。当您开始使用分支时,了解如何管理它们会很有帮助。以下是开发人员在现实世界中使用Git分支执行的最常见任务。重命名分支有时,您可能会错误地命名一个分支,或者您可能希望在内容合并到主分支后使用同一个分支在不同的bug或任务之间切换。在这种情况下,重命名主题分支会有所帮助。重命名你的本地分支1.重命名你的本地分支:$gitbranch-m当然,这只会重命名你的分支副本。如果分支存在于远程Git服务器上,请继续执行后续步骤。2.推送这个新分支,从而创建一个新的远程分支:$gitpushorigin3.删除旧的远程分支:$gitpushorigin-d-f想重命名时重命名当前分支时该分支恰好是当前分支,您无需指定旧分支名称。1.重命名当前分支:$gitbranch-m2.推送新分支创建新的远程分支:$gitpushorigin3.删除旧的远程分支:$gitpushorigin-d-f使用Git删除本地和远程分支。为了保持您的存储库干净,通常建议您在确保已将内容合并到master分支后删除临时分支。删除本地分支删除本地分支只是删除系统上存在的该分支的副本。如果分支已被推送到远程存储库,那么使用该存储库的每个人仍然可以使用它。1.检出仓库的主要分支(例如main或master):$gitcheckout2.列出所有分支(本地和远程):$gitbranch-a3.删除本地分支:$gitbranch-d删除所有本地主题分支,只保留主分支:$gitbranch|grep-v主要|xargsgitbranch-ddeleteremotebranch删除远程分支只会删除远程服务器上存在的该分支的副本。如果你想撤消删除,你也可以将它重新推送到远程(如GitHub),只要你仍然有一个本地副本。1.检查存储库的主分支(通常是main或master):$gitcheckout2.列出所有分支(本地和远程):$gitbranch-a3.删除远程分支:$gitpushorigin-d查看远程主题分支的作者如果你是仓库管理员,你可能有这样的需要通知未使用分支的作者它将被删除。1.检出仓库的主分支(例如main或master):$gitcheckout2.删除不存在的远程分支的分支引用:$gitremotepruneorigin3.列出所有远程主题分支存储库作者,使用带有特殊选择器的--format选项来只打印你想要的信息(在这个例子中,%(authorname)和%(refname)分别代表作者姓名和分支名称):$gitfor-each-ref--sort=authordate--format='%(authorname)%(refname)'refs/remotes示例输出:tuxrefs/remotes/origin/devagilrefs/remotes/origin/main您可以添加更多格式,包括颜色编码和字符串操作以提高可读性:$gitfor-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/201903:18PMtuxdev05/15/202210:35PMagilmain您可以使用grep获取特定远程主题分支的作者:$gitfor-each-ref--sort=authordate\--format='%(authorname)%(refname)'\refs/remotes|grep熟练使用分支Git分支的工作方式略有不同,具体取决于您要将代码库分叉到何处、存储库维护人员如何管理分支、压缩、变基等。