Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git存储库如何与开发和主分支一起工作?_Git - Fatal编程技术网

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

Git存储库如何与开发和主分支一起工作?,git,Git,我是Git新手,这真的让人困惑。我想开始在Git上开发一个web应用程序,到目前为止,我一直在处理让我落后的问题 我读过一篇关于Git成功的分支模型的帖子。我真的对建立类似的东西很感兴趣 它表示存储库有两个主要分支,分别称为master和develope。所以我继续创建了一个存储库。然而,令我惊讶的是,存储库本身是默认的master分支。我应该如何创建一个develope分支?我是否在master分支的父级中创建它?这意味着develope分支位于存储库之外 我是不是完全错了?我是否忽略了在主分

我是Git新手,这真的让人困惑。我想开始在Git上开发一个web应用程序,到目前为止,我一直在处理让我落后的问题

我读过一篇关于Git成功的分支模型的帖子。我真的对建立类似的东西很感兴趣

它表示存储库有两个主要分支,分别称为
master
develope
。所以我继续创建了一个存储库。然而,令我惊讶的是,存储库本身是默认的
master
分支。我应该如何创建一个
develope
分支?我是否在
master
分支的父级中创建它?这意味着
develope
分支位于存储库之外


我是不是完全错了?我是否忽略了在主分支内创建两个分支的事实?

默认情况下会创建
主分支;您可以将其视为其他VCS系统中的“主干”。nvie分支模型中使用的
develop
分支来自
master
,可能来自第一次提交

develope
分支是
master
的正常分支

git branch develope
创建
develope
分支

git init

A [master]

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

分支不是目录。它是一个随提交一起移动的提交标签,就像标记是一个随特定提交一起移动的提交标签一样。在
master
分支中不会有任何内容,相反
master
developer
最初都会标记相同的提交

创建开发分支,如下所示:

git branch develop
澄清一下:假设您有初始提交A。它将被标记为
master
分支

git init

A [master]
如果进行新的提交B,则分支标签将移动:

git commit -a

A -> B [master]
如果随后分支到
开发
,则B也将获得新标签:

git branch develop

A -> B [master, develop]
如果您在
develope
上提交,它将移动,但
master
不会:

git checkout develop
git commit -a

A -> B [master] -> C [develop]
如果现在在
主机上提交
,则树将分叉:

git checkout master
git commit -a

A -> B -> C [develop]
     +--> D [master]

同时,您的目录中只有当前提交的内容。切换分支,目录内容也会更改。

如果我的主目录中有新的更改,然后是git checkout develop
,那么当我切换到分支时,我未提交的更改会丢失吗?很抱歉,我是svn用户。@Harrison:如果您有未提交的更改,您应该不能
git签出
。你应该在这之前
git reset
git commit
git stash
我会调查的,谢谢!我只是习惯于在我的WC中看到
分支
目录,同时编辑分支和主干。