mirror of
https://github.com/LCTT/TranslateProject.git
synced 2024-12-26 21:30:55 +08:00
parent
c4ff745fcc
commit
dad8d1637c
@ -3,21 +3,20 @@
|
||||
[#]: author: "Agil Antony https://opensource.com/users/agantony"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "lkxed"
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-14635-1.html"
|
||||
|
||||
Git 教程:重命名分支、删除分支、查看分支作者
|
||||
======
|
||||
掌握管理本地/远程分支等最常见的 Git 任务。
|
||||
|
||||
![树枝][1]
|
||||
![](https://img.linux.net.cn/data/attachment/album/202205/25/161618nt30jqe10nqtlzlj.jpg)
|
||||
|
||||
图源:[Erik Fitzpatrick][2],[CC BY-SA 4.0][3]
|
||||
> 掌握管理本地/远程分支等最常见的 Git 任务。
|
||||
|
||||
Git 的主要优势之一就是它能够将工作“分叉”到不同的分支中。
|
||||
|
||||
如果只有你一个人在使用某个存储库,分支的好处是有限的。但是,一旦你开始与许多其他贡献者一起工作,分支就变得必不可少。Git 的分支机制允许多人同时处理一个项目,甚至是同一个文件。用户可以引入不同的功能,彼此独立,然后稍后将更改合并回主分支。那些专门为一个目的创建的分支,有时也被称为主题分支,例如添加新功能或修复已知错误。
|
||||
如果只有你一个人在使用某个存储库,分支的好处是有限的。但是,一旦你开始与许多其他贡献者一起工作,分支就变得必不可少。Git 的分支机制允许多人同时处理一个项目,甚至是同一个文件。用户可以引入不同的功能,彼此独立,然后稍后将更改合并回主分支。那些专门为一个目的创建的分支,有时也被称为<ruby>主题分支<rt>topic branch</rt></ruby>,例如添加新功能或修复已知错误。
|
||||
|
||||
当你开始使用分支,了解如何管理它们会很有帮助。以下是开发者在现实世界中使用 Git 分支执行的最常见任务。
|
||||
|
||||
@ -27,21 +26,21 @@ Git 的主要优势之一就是它能够将工作“分叉”到不同的分支
|
||||
|
||||
#### 重命名本地分支
|
||||
|
||||
1. 重命名本地分支:
|
||||
1、重命名本地分支:
|
||||
|
||||
```
|
||||
$ git branch -m <old_branch_name> <new_branch_name>
|
||||
```
|
||||
|
||||
当然,这只会重命名您的分支副本。如果远程 Git 服务器上存在该分支,请继续执行后续步骤。
|
||||
当然,这只会重命名你的分支副本。如果远程 Git 服务器上存在该分支,请继续执行后续步骤。
|
||||
|
||||
2. 推送这个新分支,从而创建一个新的远程分支:
|
||||
2、推送这个新分支,从而创建一个新的远程分支:
|
||||
|
||||
```
|
||||
$ git push origin <new_branch_name>
|
||||
```
|
||||
|
||||
3. 删除旧的远程分支:
|
||||
3、删除旧的远程分支:
|
||||
|
||||
```
|
||||
$ git push origin -d -f <old_branch_name>
|
||||
@ -51,19 +50,19 @@ $ git push origin -d -f <old_branch_name>
|
||||
|
||||
当你要重命名的分支恰好是当前分支时,你不需要指定旧的分支名称。
|
||||
|
||||
1. 重命名当前分支:
|
||||
1、重命名当前分支:
|
||||
|
||||
```
|
||||
$ git branch -m <new_branch_name>
|
||||
```
|
||||
|
||||
2. 推送新分支,从而创建一个新的远程分支:
|
||||
2、推送新分支,从而创建一个新的远程分支:
|
||||
|
||||
```
|
||||
$ git push origin <new_branch_name>
|
||||
```
|
||||
|
||||
3. 删除旧的远程分支:
|
||||
3、删除旧的远程分支:
|
||||
|
||||
```
|
||||
$ git push origin -d -f <old_branch_name>
|
||||
@ -77,19 +76,19 @@ $ git push origin -d -f <old_branch_name>
|
||||
|
||||
删除本地分支只会删除系统上存在的该分支的副本。如果分支已经被推送到远程存储库,它仍然可供使用该存储库的每个人使用。
|
||||
|
||||
1. 签出存储库的主分支(例如 `main` 或 `master`):
|
||||
1、签出存储库的主分支(例如 `main` 或 `master`):
|
||||
|
||||
```
|
||||
$ git checkout <central_branch_name>
|
||||
```
|
||||
|
||||
2. 列出所有分支(本地和远程):
|
||||
2、列出所有分支(本地和远程):
|
||||
|
||||
```
|
||||
$ git branch -a
|
||||
```
|
||||
|
||||
3. 删除本地分支:
|
||||
3、删除本地分支:
|
||||
|
||||
```
|
||||
$ git branch -d <name_of_the_branch>
|
||||
@ -105,19 +104,19 @@ $ git branch | grep -v main | xargs git branch -d
|
||||
|
||||
删除远程分支只会删除远程服务器上存在的该分支的副本。如果你想撤销删除,也可以将其重新推送到远程(例如 GitHub),只要你还有本地副本即可。
|
||||
|
||||
1. 签出存储库的主分支(通常是 `main` 或 `master`):
|
||||
1、签出存储库的主分支(通常是 `main` 或 `master`):
|
||||
|
||||
```
|
||||
$ git checkout <central_branch_name>
|
||||
```
|
||||
|
||||
2. 列出所有分支(本地和远程):
|
||||
2、列出所有分支(本地和远程):
|
||||
|
||||
```
|
||||
$ git branch -a
|
||||
```
|
||||
|
||||
3. 删除远程分支:
|
||||
3、删除远程分支:
|
||||
|
||||
```
|
||||
$ git push origin -d <name_of_the_branch>
|
||||
@ -127,19 +126,19 @@ $ git push origin -d <name_of_the_branch>
|
||||
|
||||
如果你是存储库管理员,你可能会有这个需求,以便通知未使用分支的作者它将被删除。
|
||||
|
||||
1. 签出存储库的主分支(例如 `main` 或 `master`):
|
||||
1、签出存储库的主分支(例如 `main` 或 `master`):
|
||||
|
||||
```
|
||||
$ git checkout <central_branch_name>
|
||||
```
|
||||
|
||||
2. 删除不存在的远程分支的分支引用:
|
||||
2、删除不存在的远程分支的分支引用:
|
||||
|
||||
```
|
||||
$ git remote prune origin
|
||||
```
|
||||
|
||||
3. 列出存储库中所有远程主题分支的作者,使用 `--format` 选项,并配合特殊的选择器来只打印你想要的信息(在本例中,`%(authorname)` 和 `%(refname)` 分别代表作者名字和分支名称):
|
||||
3、列出存储库中所有远程主题分支的作者,使用 `--format` 选项,并配合特殊的选择器来只打印你想要的信息(在本例中,`%(authorname)` 和 `%(refname)` 分别代表作者名字和分支名称):
|
||||
|
||||
```
|
||||
$ git for-each-ref --sort=authordate --format='%(authorname) %(refname)' refs/remotes
|
||||
@ -156,8 +155,8 @@ 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
|
||||
--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
|
||||
```
|
||||
|
||||
示例输出:
|
||||
@ -171,13 +170,13 @@ refs/remotes
|
||||
|
||||
```
|
||||
$ git for-each-ref --sort=authordate \
|
||||
--format='%(authorname) %(refname)' \
|
||||
refs/remotes | grep <topic_branch_name>
|
||||
--format='%(authorname) %(refname)' \
|
||||
refs/remotes | grep <topic_branch_name>
|
||||
```
|
||||
|
||||
### 熟练运用分支
|
||||
|
||||
Git 分支的工作方式存在细微差别,具体取决于你想要分叉代码库的位置、存储库维护者如何管理分支、<ruby>压缩<rt>squashing</rt></ruby>、<ruby>变基<rt>rebasing</rt></ruby>等。若想进一步了解该主题,你可以阅读下面这三篇文章:
|
||||
Git 分支的工作方式存在细微差别,具体取决于你想要分叉代码库的位置、存储库维护者如何管理分支、<ruby>压扁<rt>squashing</rt></ruby>、<ruby>变基<rt>rebasing</rt></ruby>等。若想进一步了解该主题,你可以阅读下面这三篇文章:
|
||||
|
||||
* [《用乐高来类比解释 Git 分支》][4],作者:Seth Kenlon
|
||||
* [《我的 Git push 命令的安全使用指南》][5],作者:Noaa Barki
|
||||
@ -190,7 +189,7 @@ via: https://opensource.com/article/22/5/git-branch-rename-delete-find-author
|
||||
作者:[Agil Antony][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[lkxed](https://github.com/lkxed)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
Loading…
Reference in New Issue
Block a user