Git可以完成两件事:
1.版本控制
2.多人协作开发
当今的项目越来越大,功能越来越多。开发需要一个团队。
如果有多个开发人员在一个项目上一起工作,他们将如何协作?
Git提供了一个很好的解决方案-多人协作开发。
1.多人协作的原理
典型的方法是首先创建一个git服务器并由多人操作。
1.多人辅助实现
它分为以下步骤:
1.创建一个git裸服务器(git init --bare)
2.将存储库从裸服务器克隆到本地(git)
3.本地常规操作
4.将版本推送到服务器(git + git push)
5.从远程服务器提取版本(git pull)
通常来说,我们需要在服务器上构建git版本服务器,每个公司都会拥有它。
由项目负责人开始。
我们现在在系统上模拟此操作过程。
([1)。创建一个git裸服务器(git init --bare)
这是由负责人完成的。服务器创建一个新的项目目录,例如git-
创建后,我们发现git-的内容与上次不同。
在使用git init进行最后一次创建后,将存在一个隐藏的.git目录。目录中的内容就是您现在看到的内容。
换句话说,现在根本没有.git目录。
这意味着您不能在此目录中进行常规开发。
(2)。将存储库从裸服务器克隆到本地(git)
在git版本服务器中,通常不进行任何开发工作。如果要开发项目,则需要将版本库从服务器克隆到本地。
假设有一个程序员A开始他自己的工作。
使用命令git git 服务器地址
在下面,使用绝对路径,如下所示:
然后,A可以在此目录中执行常规开发。
我们可以在此目录下创建自己的工作空间目录,以完成常规开发。
([3)。本地常规操作
A可以在本地进行常规开发。
可以重复此过程。
我的第一个模块(功能)已开发。需要将其推送到服务器。
([4)。将版本推送到服务器(git + git push)
当模块(功能)在本地完成时,需要将其推送到服务器以供其他同事使用。
第一件事,您需要知道服务器在哪里?
git
第二件事,直接将其推入
git push
其中是使用git获得的远程服务器的名称。
表示它是主要分支。
对于A来说,它的工作已经结束,而轮到程序员B了。
程序员B,首先将存储库从git服务器克隆到本地。
打开此目录小程序怎么同时开发,然后输入以查看最新的新内容,如下所示:
对于B,可以在本地进行常规开发。同时,A继续他的常规开发。
模拟程序员B的本地开发。
将完成的工作推送到git服务器。
回头看看A的发展。
A已停止工作并准备离开。下班前,您需要将最新版本推送到git服务器。
开始使用命令,执行如下:
结果是错误的,为什么?
出现此错误的原因是其他程序员已将最新版本提交到git服务器,但是在提交之前,它不是最新版本。
在这种情况下,X需要首先从服务器提取最新版本。
([5)。从远程服务器提取版本(git pull)
当多个人协助开发时,每个开发人员在推入自己的最新版本时都需要确保当前版本为最新版本,因此他们需要首先获取最新版本,这意味着他们需要从中获取最新版本。服务器到本地。
需要使用git pull命令
通过这种方式,A是当前的最新版本。
然后再次使用git push命令将其推送到服务器。
接下来,我们需要分为两种情况:
如果有新开发者加入,请重复步骤2〜5。

如果您不是新开发人员,请重复步骤3〜5。
例如,对于B,它不再是最新版本,因此您需要使用git pull来获取最新版本。
因此,对于许多开发人员而言,一旦打开计算机,他们就会立即使用git pull来获取最新的。然后进行常规开发,
开发后,在进行git push之前,您需要使用git pull再次将其拉出。
如果有一个新的程序员C加入该怎么办?
首先需要git
然后继续进行常规开发,推送版本,提取版本。
在整个协作开发中,有时会发生冲突。这通常是由于开发人员的分工不明确造成的,因此,如果发生这种情况,则需要两个程序员进行协商才能解决。
3. (1)。什么是分支
在所有先前的操作中,我们一直在使用分支。以刚才的项目版本控制为例
共有四个版本,所有版本都存在于我们存储库的主分支中。
图标如下:
如果我们的项目本身相对简单,则只需要一个分支即可。
但是,事实并非如此。
在这个世界上,有一种称为开源软件-源代码开发的软件,每个人都可以免费使用。
开源软件是由世界上无数程序员共同开发的。
每个程序员都可以创建自己的分支,该分支完全独立于主分支。
相应地,每个程序员都可以拥有自己的分支,并且可以执行任何与此无关的开发。
开发完成后,您可以将分支合并到主分支中。
何时使用分支?
假设您要开发一个新功能,但是需要两个星期才能完成。在第一周,您编写了50%的代码。如果您立即提交,因为尚未编写代码,那么不完整的代码库将阻止其他人存活。如果您等待编写代码并再次提交,则存在失去日常进度的巨大风险,该怎么办?
您可以创建自己的一个对其他人不可见的分支,并继续在原始分支上工作,但是您是在自己的分支上进行开发。开发完成后,您可以将其合并。
在开源世界中,需要大量程序员共同维护一个项目。也有必要使用分支,例如。
(2)。分支的基本操作
基本操作如下:
1.查看当前分支(git)
2.创建分支(git分支名称)
3.切换分支(git分支名称)
4.分支上的常规操作
5.分支合并(git + git分支名称)
删除6.分支(git -d分支名称)
查看当前分支(git)
*表示当前分支。
默认情况下,只有一个主分支。
创建分支(git分支名称)
切换分支(git分支名称)
创建完成后,会有一个新分支,但不会立即切换到新分支。您需要使用命令进行切换。
分支机构的常规操作
已经切换到b1分支,您可以在b1分支上进行常规开发和操作。
使用git add和git 。
使用git log查看:
相应地,让我们再次切换到分支以查看会发生什么:
这意味着分支上没有新的提交。
分支合并(git + git分支名称)
分支的合并必须在主分支上进行。
仅合并主分支中的其他分支。
需要两个步骤:
1)切换到主分支
2)使用git分支名称进行合并
再次检查日志情况,如下:
删除分支(git -d分支名称)
使用命令git -d分支名称
如果您发现在分支机构中所做的开发无用,则也可以将其删除而无需合并。
(3)。分支原理
分支的过程和原理如下:
默认情况下,它始终指向最新版本,而HEAD指针始终指向最新版本。
现在,我创建了一个新的分支dev,并将当前分支指定为dev。目前,和dev都指向当前版本的最新版本,但是HEAD指针已经指向dev分支。
接下来,我们提交了一个新版本,开发人员指出了最新版本,但没有改动。
HEAD指向当前分支dev。
在dev分支上完成开发后,您可以将其合并到main分支中。
合并时,您需要先切换到它,这意味着HEAD指向。合并时,它将实际上与最新版本的dev同步。
dev分支的任务已经完成,并且没有任何作用。删除它。只剩下一个主分支。