当我在 git 中创建一个新项目时,它包含一个且只有一个分支,即 master 分支:
~> cd test
~/test> echo "Prueba de git" > Readme.md
~/test> git init
Initialized empty Git repository in /home/jose/test/.git/
~/test> git add .
~/test> git commit -m "Prueba git"
Created initial commit 0babea8: Prueba git
1 files changed, 1 insertions(+), 0 deletions(-)
create mode 100644 Readme.md
~/test> git branch
* master
如果我克隆一个项目,我发现它可能有很多远程分支:
$ git clone https://github.com/git/git
$ cd git
$ git branch -r
origin/HEAD -> origin/master
origin/maint
origin/master
origin/next
origin/pu
origin/todo
并且由于克隆,只有一个本地分支,即主分支:
$ git branch
* master
master 分支有什么特别之处吗,它与我创建的分支有什么不同git branch
吗?它是强制性的吗?如果我删除它会发生不好的事情吗?
当您克隆存储库时,您还克隆了它的分支,不仅是一个
master
(默认创建的主分支),而且它会将它们保存在“远程”存储库中,并且在我们使用checkout
.使用
git branch -a
您将能够看到所有内容,使用git checkout todo
您将能够切换到分支todo
并看到存储库的内容发生了变化,此时您还可以使用git branch -a
.查看文档:https ://git-scm.com/book/en/v1/Ramifications-on-Git-Remote-Branches
答案:
master 分支有什么特别之处吗?
它是默认创建的,正如您将在我的其余答案中看到的那样,它没有什么特别之处。
注意:请记住,某些应用程序可能会假定该分支应该存在。此外,正如我在评论中解释的那样,如果您删除分支
master
,您应该删除任何HEAD
指向它提交的引用(甚至是 a )。和我用 git branch 创建的分支有区别吗?
没有。
它是强制性的吗?
没有。
如果我删除它会发生不好的事情吗?
不,它将像任何其他分支一样被删除,但您首先必须联合
checkout
到另一个分支(或者如果您没有任何其他分支,则创建它):总结起来可以说是第一个被创造出来的。它的用途通常是作为项目的主要分支,项目的最新稳定和功能生产版本位于或应该始终找到。
其余的分支通常用于对项目进行修改,例如开发、修补程序、测试版等......一旦该版本经过测试和最终确定,它就会作为最终版本上传到主分支。
在官方 GIT 页面上,他们准确地解释了 master 分支是如何工作的。
分支用于开发彼此隔离的功能。当您创建存储库时,主分支是“默认”分支。在开发过程中创建新分支,并在完成后将它们合并到主分支中。创建一个名为“feature_x”的新分支并使用
回到主分支
并删除分支
除非您将分支推送到远程存储库,否则其他人将无法使用新分支。
源码来源: http ://rogerdudler.github.io/git-guide/index.es.html