我最近成为我的组织的开发人员,并一直试图回答“为什么要这么做?”在浏览我们的开发人员文档时我一直在问自己的问题。这些问题之一就是该帖子的标题。
要创建功能分支,请给出命令“ git co -b 在插入_功能_分支_此处”。由于某些原因,“ co”对我不起作用。我了解到这是“ checkout”,用于查看另一个分支,但我不知道-b是什么意思。给定上下文线索,“-b”似乎是一个标志,由“ git branch”和“ git checkout”组成。是这样吗?
有人输入过吗?我已经搜索过Git documentation和Git cheat sheet,但没有发现任何内容。为了避免将来再问这些简单的问题,在了解未来某些标志的含义时,有人知道在线文档可供参考吗?
预先感谢, 亚历克斯
答案 0 :(得分:2)
首先,恭喜! 我认为,要成为一名开发人员,最重要的事情之一就是不断问自己:“我为什么要这么做?”
请记住,当您编写git checkout -b <insert_feature_branch_here>
时,每个单词都会被独立地解析和处理,因此从git开始,它告诉控制台从系统路径加载git程序,之后,每个单词都被输入到git程序中
通过快速git --help
,我们可以查看可以输入的命令类型
git --help
usage: git [--version] [--help] [-C <path>] [-c <name>=<value>]
[--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
[-p | --paginate | --no-pager] [--no-replace-objects] [--bare]
[--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
<command> [<args>]
These are common Git commands used in various situations:
start a working area (see also: git help tutorial)
clone Clone a repository into a new directory
init Create an empty Git repository or reinitialize an existing one
work on the current change (see also: git help everyday)
add Add file contents to the index
mv Move or rename a file, a directory, or a symlink
reset Reset current HEAD to the specified state
rm Remove files from the working tree and from the index
examine the history and state (see also: git help revisions)
bisect Use binary search to find the commit that introduced a bug
grep Print lines matching a pattern
log Show commit logs
show Show various types of objects
status Show the working tree status
grow, mark and tweak your common history
branch List, create, or delete branches
checkout Switch branches or restore working tree files
commit Record changes to the repository
diff Show changes between commits, commit and working tree, etc
merge Join two or more development histories together
rebase Reapply commits on top of another base tip
tag Create, list, delete or verify a tag object signed with GPG
collaborate (see also: git help workflows)
fetch Download objects and refs from another repository
pull Fetch from and integrate with another repository or a local branch
push Update remote refs along with associated objects
'git help -a' and 'git help -g' list available subcommands and some
concept guides. See 'git help <command>' or 'git help <concept>'
to read about a specific subcommand or concept.
现在,如果您输入以下内容,则您感兴趣的命令是checkout
git checkout --help
您将看到一个手册页,其中包含checkout可以接收的所有参数[分支名称,如何解决冲突,如果您想强制执行checkout等],这里重要的是这些参数可以会以不同的顺序输入,那么git如何知道哪个单词代表分支名称,哪个单词代表其他参数?
通过使用诸如-b
之类的标志!
假设您输入:
git checkout -b mycoolbranch -f
git知道在-b
之后,每个单词将成为分支名称的一部分,直到找到另一个参数(或行尾)为止。
所以基本上就是-b
(或许多命令工具中的其他任何标志)的工作方式
如果遇到困难,--help
始终是一个很好的起点。
编码愉快!
答案 1 :(得分:0)
这意味着它将创建分支,然后将其检出。
请参见https://git-scm.com/docs/git-checkout#git-checkout-emgitcheckoutem-b-Bltnewbranchgtltstartpointgt
答案 2 :(得分:-1)
从git docs:
指定-b会导致创建新分支,就像调用了git-branch一样,然后将其检出。
您可以将-b
视为要直接在新分支中开始工作时要使用的标志。它首先创建新分支,然后自动将您签出到该分支,以便您可以在该分支中开始工作。