Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenDocCN
git-doc-zh
提交
08d0fcc2
G
git-doc-zh
项目概览
OpenDocCN
/
git-doc-zh
通知
0
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
git-doc-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
08d0fcc2
编写于
7月 01, 2019
作者:
H
honglyua
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update git branch
上级
276d17e3
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
29 addition
and
29 deletion
+29
-29
docs/13.md
docs/13.md
+29
-29
未找到文件。
docs/13.md
浏览文件 @
08d0fcc2
...
...
@@ -26,25 +26,25 @@ git branch --edit-description [<branchname>]
## 描述
如果给出
`--list`
,或者没有非选项参数,则列出现有分支;当前分支将以星号突出显示。选项
`-r`
导致列出远程跟踪分支,选项
`-a`
显示本地和远程分支。如果给出
`<pattern>`
,则将其用作shell通配符以将输出限制为匹配的分支。如果给出了多个模式,则如果它与任何模式匹配,则显示分支。注意,提供
`<pattern>`
时,必须使用
`--list`
;否则该命令被解释为分支创建
。
如果给出
`--list`
,或者没有非选项参数,则列出现有分支;当前分支将以星号突出显示。选项
`-r`
列出远程跟踪分支,选项
`-a`
显示本地和远程分支。如果给出
`<pattern>`
,则将其用作shell通配符以将输出限制为匹配的分支。如果给出了多个模式,则如果它与任何模式匹配,则显示分支。注意,提供
`<pattern>`
时,必须使用
`--list`
;否则该命令被解释为创建分支
。
使用
`--contains`
,仅显示包含命名提交的分支(换句话说,提示提交是指定提交的后代的分支),
`--no-contains`
将其反
转。使用
`--merged`
,将仅列出已合并到命名提交的分支(即,可以从命名提交到达提示提交的分支)。使用
`--no-merged`
将仅列出未合并到命名提交的分支。如果
<
commit
>
参数缺失它默认为
`HEAD`
(即当前分支的尖端)。
使用
`--contains`
,仅显示包含命名提交的分支(换句话说,提示提交是指定提交的后代的分支),
`--no-contains`
将其反
面。使用
`--merged`
,将仅列出已合并到命名提交的分支(即,可以从命名提交到提示提交的分支)。使用
`--no-merged`
将仅列出未合并到命名提交的分支。如果
<commit>
参数缺失它默认为
`HEAD`
(即当前分支的尖端)。
命令的第二个表单创建一个名为
<
branchname
>
的新分支头。它指向当前的`HEAD`,或者
<
起点
>
如果给予。
命令的第二个表单创建一个名为
<branchname>
的新分支头。它指向当前的
`HEAD`
,或者是
<start-point>
如果有给予的话。关于
<start-point>
举一个特殊的例子,你可以使用简写的
`"A...B"`
取得A和B的共同父节点,如果他们只存在一个。你可以使用A、B中的一个,默认是
`HEAD`
请注意,这将创建新分支,但不会将工作树切换到它;使用“git checkout
<
newbranch
>
”切换到新分支。
请注意,这将创建新分支,但不会将工作树切换到它;使用“git checkout
<
newbranch>
”切换到新分支。
当
远程跟踪分支启动本地分支时,Git设置分支(特别是
`branch.<name>.remote`
和
`branch.<name>.merge`
配置条目),以便 _git pull_ 将从远程跟踪分支适当地合并
。可以通过全局
`branch.autoSetupMerge`
配置标志更改此行为。可以使用
`--track`
和
`--no-track`
选项覆盖该设置,稍后使用
`git branch --set-upstream-to`
进行更改。
当
本地分支从远程跟踪分支启动时,Git设置分支(特别是
`branch.<name>.remote`
和
`branch.<name>.merge`
配置条目),以便 _git pull_ 能适当地从远程跟踪分支合并本地
。可以通过全局
`branch.autoSetupMerge`
配置标志更改此行为。可以使用
`--track`
和
`--no-track`
选项覆盖该设置,稍后使用
`git branch --set-upstream-to`
进行更改。
使用
`-m`
或
`-M`
选项,
<
oldbranch
>
将重命名为
<
newbranch
>
。如果
<
oldbranch
>
有一个相应的reflog,它被重命名为匹配
<
newbranch
>
,并创建一个reflog条目来记住分支重命名。如果
<
newbranch
>
存在,-M必须用于强制重命名发生。
使用
`-m`
或
`-M`
选项,
<oldbranch>
将重命名为
<newbranch>
。如果
<oldbranch>
有一个相应的reflog,它被重命名为匹配
<newbranch>
,并创建一个reflog条目来记住分支重命名。如果
<newbranch>
存在,-M必须用于强制重命名发生。
`-c`
和
`-C`
选项具有与
`-m`
和
`-M`
完全相同的语义,除了将分支与其配置重命名,并且reflog将被复制到新名称。
使用
`-d`
或
`-D`
选项,
`
<branchname>
`
将被删除。您可以指定多个分支进行删除。如果分支当前有reflog,那么reflog也将被删除。
使用
`-d`
或
`-D`
选项,
`
<branchname>
`
将被删除。您可以指定多个分支进行删除。如果分支当前有reflog,那么reflog也将被删除。
将
`-r`
与
`-d`
一起使用以删除远程跟踪分支。请注意,如果远程存储库中不再存在远程跟踪分支,或者如果 _git fetch_ 配置为不再获取它们,则删除它们才有意义。另请参阅
[
git-remote [1]
](
https://git-scm.com/docs/git-remote
)
的 _prune_ 子命令,了解清除所有过时的远程跟踪分支的方法。
##
OPTIONS
##
选项
```
-d
...
...
@@ -66,7 +66,7 @@ git branch --edit-description [<branchname>]
--create-reflog
```
创建分支的reflog。这将激活
对分支引用所做的所有更改的记录,从而可以使用基于日期的sha1表达式,例如“
<
branchname
>
@ {yesterday}”。请注意,在非裸存储库中,默认情况下,
`core.logAllRefUpdates`
配置选项通常会启用reflog。否定形式
`--no-create-reflog`
仅覆盖较早的
`--create-reflog`
,但目前不会否定
`core.logAllRefUpdates`
的设置。
创建分支的reflog。这将激活
记录对分支引用所做的所有更改,从而可以使用基于日期的sha1表达式,例如“
<branchname>
@ {yesterday}”。请注意,在非裸存储库中,默认情况下,
`core.logAllRefUpdates`
配置选项通常会启用reflog。否定形式
`--no-create-reflog`
仅覆盖较早的
`--create-reflog`
,但目前不会否定
`core.logAllRefUpdates`
的设置。
```
-f
...
...
@@ -76,7 +76,7 @@ git branch --edit-description [<branchname>]
--force
```
重置
<
branchname
>
到
<
startpoint
>
,即使
<
branchname
>
已存在。没有
`-f`
, _git branch_ 拒绝更改现有分支。与
`-d`
(或
`--delete`
)结合使用,允许删除分支,而不管其合并状态如何。与
`-m`
(或
`--move`
)结合使用,即使新分支名称已存在,也允许重命名分支,这同样适用于
`-c`
(或
`--copy`
)。
重置
<branchname>
到
<startpoint>
,即使
<branchname>
已存在。没有
`-f`
, _git branch_ 拒绝更改现有分支。与
`-d`
(或
`--delete`
)结合使用,允许删除分支,而不管其合并状态如何。与
`-m`
(或
`--move`
)结合使用,即使新分支名称已存在,也允许重命名分支,这同样适用于
`-c`
(或
`--copy`
)。
```
-m
...
...
@@ -114,7 +114,7 @@ git branch --edit-description [<branchname>]
--color[=<when>]
```
颜色分支以突出显示当前,本地和远程跟踪分支。该值必须
始终为
(默认值),never或auto。
颜色分支以突出显示当前,本地和远程跟踪分支。该值必须
为always
(默认值),never或auto。
```
--no-color
...
...
@@ -140,7 +140,7 @@ git branch --edit-description [<branchname>]
--no-column
```
在列中显示分支列表。有关选项语法,请参阅配置变量column.branch。没有选项的
`--column`
和
`--no-column`
分别相当于
和_永远不会
_。
在列中显示分支列表。有关选项语法,请参阅配置变量column.branch。没有选项的
`--column`
和
`--no-column`
分别相当于
_always_ 和 _never
_。
此选项仅适用于非详细模式。
...
...
@@ -172,7 +172,7 @@ git branch --edit-description [<branchname>]
--list
```
列出分支。使用可选的
`
<pattern>
...`
,例如
`git branch --list 'maint-*'`
,仅列出与模式匹配的分支。
列出分支。使用可选的
`
<pattern>
...`
,例如
`git branch --list 'maint-*'`
,仅列出与模式匹配的分支。
```
-v
...
...
@@ -186,7 +186,7 @@ git branch --edit-description [<branchname>]
--verbose
```
在列表模式下,显示每个头的sha1和提交主题行,以及与上游分支(如果有)的关系。如果给出两次,也打印上游分支的名称(另请参见
`git remote show
<remote>
`
)。
在列表模式下,显示每个头的sha1和提交主题行,以及与上游分支(如果有)的关系。如果给出两次,也打印上游分支的名称(另请参见
`git remote show
<remote>
`
)。
```
-q
...
...
@@ -218,7 +218,7 @@ git branch --edit-description [<branchname>]
--track
```
创建新分支时,设置
`branch.
<name>.remote`
和
`branch.<name>
.merge`
配置条目以将起点分支标记为新分支的“上游”。此配置将告诉git显示
`git status`
和
`git branch -v`
中两个分支之间的关系。此外,它在没有参数的情况下指示
`git pull`
在检出新分支时从上游拉出。
创建新分支时,设置
`branch.
<name>.remote`
和
`branch.<name>
.merge`
配置条目以将起点分支标记为新分支的“上游”。此配置将告诉git显示
`git status`
和
`git branch -v`
中两个分支之间的关系。此外,它在没有参数的情况下指示
`git pull`
在检出新分支时从上游拉出。
当起点是远程跟踪分支时,此行为是默认行为。如果希望
`git checkout`
和
`git branch`
始终表现得像
`--no-track`
一样,请将branch.autoSetupMerge配置变量设置为
`false`
。如果在起点是本地或远程跟踪分支时需要此行为,请将其设置为
`always`
。
...
...
@@ -242,13 +242,13 @@ git branch --edit-description [<branchname>]
--set-upstream-to=<upstream>
```
设置
<
branchname
>
的跟踪信息,以便
<
upstream
>
被认为是
<
branchname
>
的上游分支。如果没有
<
branchname
>
如果已指定
,则默认为当前分支。
设置
<branchname>
的跟踪信息,以便
<upstream>
被认为是
<branchname>
的上游分支。如果
<branchname>
没有指定上游分支
,则默认为当前分支。
```
--unset-upstream
```
删除
<
branchname
>
的上游信息。如果未指定分支,则默认为当前分支。
删除
<branchname>
的上游信息。如果未指定分支,则默认为当前分支。
```
--edit-description
...
...
@@ -302,13 +302,13 @@ git branch --edit-description [<branchname>]
<newbranch>
```
现有分支的新名称。与
<
branchname
>
相同的限制应用。
现有分支的新名称。与
<branchname>
相同的限制应用。
```
--sort=<key>
```
根据给定的密钥排序。前缀
`-`
按值的降序排序。您可以使用--sort =
<
key
>
选项多次,在这种情况下,最后一个键成为主键。支持的键与
`git for-each-ref`
中的键相同。排序顺序默认为
`branch.sort`
变量(如果存在)配置的值,或基于完整refname(包括
`refs/...`
前缀)的排序。这首先列出分离的HEAD(如果存在),然后是本地分支,最后是远程跟踪分支。见
[
git-config [1]
](
https://git-scm.com/docs/git-config
)
。
根据给定的密钥排序。前缀
`-`
按值的降序排序。您可以使用--sort =
<key>
选项多次,在这种情况下,最后一个键成为主键。支持的键与
`git for-each-ref`
中的键相同。排序顺序默认为
`branch.sort`
变量(如果存在)配置的值,或基于完整refname(包括
`refs/...`
前缀)的排序。这首先列出分离的HEAD(如果存在),然后是本地分支,最后是远程跟踪分支。见
[
git-config [1]
](
https://git-scm.com/docs/git-config
)
。
```
--points-at <object>
...
...
@@ -320,11 +320,11 @@ git branch --edit-description [<branchname>]
--format <format>
```
从显示的分支ref和它指向的对象插入
`%(fieldname)`
的字符串。格式与
[
git-for-each-ref [1]
](
https://git-scm.com/docs/git-for-each-ref
)
的格式相同。
在分支ref和它指向的对象中插入显示
`%(fieldname)`
的字符串。格式与
[
git-for-each-ref [1]
](
https://git-scm.com/docs/git-for-each-ref
)
的格式相同。
##
组态
##
配置
仅在列出分支时,
即使用或暗示
`--list`
时,才会遵守
`pager.branch`
。默认是使用寻呼机
。见
[
git-config [1]
](
https://git-scm.com/docs/git-config
)
。
仅在列出分支时,
当使用或引用
`--list`
时,才会遵守
`pager.branch`
。默认是使用pager
。见
[
git-config [1]
](
https://git-scm.com/docs/git-config
)
。
## 例子
...
...
@@ -352,23 +352,23 @@ $ git branch -d -r origin/todo origin/html origin/man (1)
$ git branch -D test (2)
```
1.
删除远程跟踪分支“todo”,“html”和“man”。下
一个_获取_或_拉_
将再次创建它们,除非你不配置它们。参见
[
git-fetch [1]
](
https://git-scm.com/docs/git-fetch
)
。
1.
删除远程跟踪分支“todo”,“html”和“man”。下
次 _fetch_ 或 _pull_
将再次创建它们,除非你不配置它们。参见
[
git-fetch [1]
](
https://git-scm.com/docs/git-fetch
)
。
2.
即使“master”分支(或当前检出的任何分支)没有来自
测试
分支的所有提交,也要删除“test”分支。
2.
即使“master”分支(或当前检出的任何分支)没有来自
test
分支的所有提交,也要删除“test”分支。
##
笔记
##
注意
如果要创建要立即签出的分支,则可以更轻松地使用git checkout命令及其
`-b`
选项来创建分支并使用单个命令将其签出。
选项
`--contains`
,
`--no-contains`
,
`--merged`
和
`--no-merged`
有四个相关但不同的用途:
*
如果
<
commit
>
,则
`--contains <commit>`
用于查找需要特别注意的所有分支。由于这些分支包含指定的
<
commit
>
,因此需要重新定义或修改
。
*
`--contains <commit>`
用于在所有分支中查找包含指定
<commit>
的分支。如果
<commit>
是被重新定义或修改的,需要特别注意
。
*
`--no-contains
<commit>`
与此相反,即不包含指定的
<
commit
>
的分支。
*
`--no-contains
<commit>`
与此相反,即不包含指定的
<commit>
的分支。
*
`--merged`
用于查找可以安全删除的所有分支,因为这些分支完全
由
HEAD包含。
*
`--merged`
用于查找可以安全删除的所有分支,因为这些分支完全
被
HEAD包含。
*
`--no-merged`
用于查找
合并为
HEAD的候选分支,因为这些分支未被HEAD完全包含。
*
`--no-merged`
用于查找
要合入
HEAD的候选分支,因为这些分支未被HEAD完全包含。
## 也可以看看
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录