diff --git a/docs/13.md b/docs/13.md index 3fc96c3e0091af126c5f6c3e6e186ad6f7ab62e1..a0e34e398983e5c432fc040dcdb8e5a5d35c75ba 100644 --- a/docs/13.md +++ b/docs/13.md @@ -26,25 +26,25 @@ git branch --edit-description [] ## 描述 -如果给出`--list`,或者没有非选项参数,则列出现有分支;当前分支将以星号突出显示。选项`-r`导致列出远程跟踪分支,选项`-a`显示本地和远程分支。如果给出`<pattern>`,则将其用作shell通配符以将输出限制为匹配的分支。如果给出了多个模式,则如果它与任何模式匹配,则显示分支。注意,提供`<pattern>`时,必须使用`--list`;否则该命令被解释为分支创建。 +如果给出`--list`,或者没有非选项参数,则列出现有分支;当前分支将以星号突出显示。选项`-r`列出远程跟踪分支,选项`-a`显示本地和远程分支。如果给出``,则将其用作shell通配符以将输出限制为匹配的分支。如果给出了多个模式,则如果它与任何模式匹配,则显示分支。注意,提供``时,必须使用`--list`;否则该命令被解释为创建分支。 -使用`--contains`,仅显示包含命名提交的分支(换句话说,提示提交是指定提交的后代的分支),`--no-contains`将其反转。使用`--merged`,将仅列出已合并到命名提交的分支(即,可以从命名提交到达提示提交的分支)。使用`--no-merged`将仅列出未合并到命名提交的分支。如果< commit>参数缺失它默认为`HEAD`(即当前分支的尖端)。 +使用`--contains`,仅显示包含命名提交的分支(换句话说,提示提交是指定提交的后代的分支),`--no-contains`将其反面。使用`--merged`,将仅列出已合并到命名提交的分支(即,可以从命名提交到提示提交的分支)。使用`--no-merged`将仅列出未合并到命名提交的分支。如果参数缺失它默认为`HEAD`(即当前分支的尖端)。 -命令的第二个表单创建一个名为< branchname>的新分支头。它指向当前的`HEAD`,或者<起点>如果给予。 +命令的第二个表单创建一个名为的新分支头。它指向当前的`HEAD`,或者是如果有给予的话。关于举一个特殊的例子,你可以使用简写的`"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..remote`和`branch..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`选项,将重命名为。如果有一个相应的reflog,它被重命名为匹配,并创建一个reflog条目来记住分支重命名。如果存在,-M必须用于强制重命名发生。 `-c`和`-C`选项具有与`-m`和`-M`完全相同的语义,除了将分支与其配置重命名,并且reflog将被复制到新名称。 -使用`-d`或`-D`选项,`<branchname>`将被删除。您可以指定多个分支进行删除。如果分支当前有reflog,那么reflog也将被删除。 +使用`-d`或`-D`选项,``将被删除。您可以指定多个分支进行删除。如果分支当前有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 [] --create-reflog ``` -创建分支的reflog。这将激活对分支引用所做的所有更改的记录,从而可以使用基于日期的sha1表达式,例如“< branchname> @ {yesterday}”。请注意,在非裸存储库中,默认情况下,`core.logAllRefUpdates`配置选项通常会启用reflog。否定形式`--no-create-reflog`仅覆盖较早的`--create-reflog`,但目前不会否定`core.logAllRefUpdates`的设置。 +创建分支的reflog。这将激活记录对分支引用所做的所有更改,从而可以使用基于日期的sha1表达式,例如“ @ {yesterday}”。请注意,在非裸存储库中,默认情况下,`core.logAllRefUpdates`配置选项通常会启用reflog。否定形式`--no-create-reflog`仅覆盖较早的`--create-reflog`,但目前不会否定`core.logAllRefUpdates`的设置。 ``` -f @@ -76,7 +76,7 @@ git branch --edit-description [] --force ``` -重置< branchname>到< startpoint>,即使< branchname>已存在。没有`-f`, _git branch_ 拒绝更改现有分支。与`-d`(或`--delete`)结合使用,允许删除分支,而不管其合并状态如何。与`-m`(或`--move`)结合使用,即使新分支名称已存在,也允许重命名分支,这同样适用于`-c`(或`--copy`)。 +重置,即使已存在。没有`-f`, _git branch_ 拒绝更改现有分支。与`-d`(或`--delete`)结合使用,允许删除分支,而不管其合并状态如何。与`-m`(或`--move`)结合使用,即使新分支名称已存在,也允许重命名分支,这同样适用于`-c`(或`--copy`)。 ``` -m @@ -114,7 +114,7 @@ git branch --edit-description [] --color[=] ``` -颜色分支以突出显示当前,本地和远程跟踪分支。该值必须始终为(默认值),never或auto。 +颜色分支以突出显示当前,本地和远程跟踪分支。该值必须为always(默认值),never或auto。 ``` --no-color @@ -140,7 +140,7 @@ git branch --edit-description [] --no-column ``` -在列中显示分支列表。有关选项语法,请参阅配置变量column.branch。没有选项的`--column`和`--no-column`分别相当于和_永远不会_。 +在列中显示分支列表。有关选项语法,请参阅配置变量column.branch。没有选项的`--column`和`--no-column`分别相当于 _always_ 和 _never_。 此选项仅适用于非详细模式。 @@ -172,7 +172,7 @@ git branch --edit-description [] --list ``` -列出分支。使用可选的`<pattern>...`,例如`git branch --list 'maint-*'`,仅列出与模式匹配的分支。 +列出分支。使用可选的`...`,例如`git branch --list 'maint-*'`,仅列出与模式匹配的分支。 ``` -v @@ -186,7 +186,7 @@ git branch --edit-description [] --verbose ``` -在列表模式下,显示每个头的sha1和提交主题行,以及与上游分支(如果有)的关系。如果给出两次,也打印上游分支的名称(另请参见`git remote show <remote>`)。 +在列表模式下,显示每个头的sha1和提交主题行,以及与上游分支(如果有)的关系。如果给出两次,也打印上游分支的名称(另请参见`git remote show `)。 ``` -q @@ -218,7 +218,7 @@ git branch --edit-description [] --track ``` -创建新分支时,设置`branch.<name>.remote`和`branch.<name>.merge`配置条目以将起点分支标记为新分支的“上游”。此配置将告诉git显示`git status`和`git branch -v`中两个分支之间的关系。此外,它在没有参数的情况下指示`git pull`在检出新分支时从上游拉出。 +创建新分支时,设置`branch..remote`和`branch..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 [] --set-upstream-to= ``` -设置< branchname>的跟踪信息,以便< upstream>被认为是< branchname>的上游分支。如果没有< branchname>如果已指定,则默认为当前分支。 +设置的跟踪信息,以便被认为是的上游分支。如果没有指定上游分支,则默认为当前分支。 ``` --unset-upstream ``` -删除< branchname>的上游信息。如果未指定分支,则默认为当前分支。 +删除的上游信息。如果未指定分支,则默认为当前分支。 ``` --edit-description @@ -302,13 +302,13 @@ git branch --edit-description [] ``` -现有分支的新名称。与< branchname>相同的限制应用。 +现有分支的新名称。与相同的限制应用。 ``` --sort= ``` -根据给定的密钥排序。前缀`-`按值的降序排序。您可以使用--sort =< key>选项多次,在这种情况下,最后一个键成为主键。支持的键与`git for-each-ref`中的键相同。排序顺序默认为`branch.sort`变量(如果存在)配置的值,或基于完整refname(包括`refs/...`前缀)的排序。这首先列出分离的HEAD(如果存在),然后是本地分支,最后是远程跟踪分支。见 [git-config [1]](https://git-scm.com/docs/git-config) 。 +根据给定的密钥排序。前缀`-`按值的降序排序。您可以使用--sort =选项多次,在这种情况下,最后一个键成为主键。支持的键与`git for-each-ref`中的键相同。排序顺序默认为`branch.sort`变量(如果存在)配置的值,或基于完整refname(包括`refs/...`前缀)的排序。这首先列出分离的HEAD(如果存在),然后是本地分支,最后是远程跟踪分支。见 [git-config [1]](https://git-scm.com/docs/git-config) 。 ``` --points-at @@ -320,11 +320,11 @@ git branch --edit-description [] --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 `用于在所有分支中查找包含指定的分支。如果是被重新定义或修改的,需要特别注意。 -* `--no-contains <commit>`与此相反,即不包含指定的< commit>的分支。 +* `--no-contains `与此相反,即不包含指定的的分支。 -* `--merged`用于查找可以安全删除的所有分支,因为这些分支完全由HEAD包含。 +* `--merged`用于查找可以安全删除的所有分支,因为这些分支完全被HEAD包含。 -* `--no-merged`用于查找合并为HEAD的候选分支,因为这些分支未被HEAD完全包含。 +* `--no-merged`用于查找要合入HEAD的候选分支,因为这些分支未被HEAD完全包含。 ## 也可以看看