Git存储库如何与开发和主分支一起使用?

Joh*_*eed 24 git

我是Git的新手,这真的令人困惑.我想开始在Git上开发一个Web应用程序,到目前为止,我一直在处理让我落后的麻烦.

我已经阅读了关于Git成功分支模型的博客文章.我真的很想建立类似的东西.

它说存储库有2个主要的分支叫做masterdevelop.所以我继续创建了一个存储库.但令我惊讶的是,存储库本身就是默认master分支.我怎么会创建一个develop分支?我是否在master分支的父级中创建它?这意味着develop分支在存储库之外.

我在这里弄错了吗?我是否只是忽略了我在主分支中创建两个分支的事实?

Ama*_*dan 29

分支不是目录.它是一个提交标签,与提交一起移动,例如tag是一个保留特定提交的提交标签.你不会有任何"内部"的master分支,而masterdevelop将在初始标注相同的承诺.

像这样创建开发分支:

git branch develop
Run Code Online (Sandbox Code Playgroud)

澄清:假设您有初始提交A.它将被标记为master分支.

git init

A [master]
Run Code Online (Sandbox Code Playgroud)

如果您创建新的提交B,分支标签将移动:

git commit -a

A -> B [master]
Run Code Online (Sandbox Code Playgroud)

如果你然后分支develop,B也将获得新标签:

git branch develop

A -> B [master, develop]
Run Code Online (Sandbox Code Playgroud)

如果您提交develop,它将移动,但master不会:

git checkout develop
git commit -a

A -> B [master] -> C [develop]
Run Code Online (Sandbox Code Playgroud)

如果你现在提交master,树将分叉:

git checkout master
git commit -a

A -> B -> C [develop]
     +--> D [master]
Run Code Online (Sandbox Code Playgroud)

同时,您只在目录中拥有当前提交的内容.切换分支,目录内容发生变化.


Ken*_*Liu 15

master分支是默认创建的; 您可以将其视为其他VCS系统中的"主干".的develop在nvie分支模型分支用于从分支master从,大概是第一次提交.

develop分支是一个正常的分支关闭的master.

git branch develop创建develop分支.

在nvie分支模型中,所有开发工作都在develop分支上完成,只有在代码准备好发布时才合并到master并标记在那里.许多人使用的典型工作流程只是master在代码准备好发布时将所有开发提交到并标记.