Git 创建操作
在本章中,我们将看到如何创建一个远程Git存储库;从现在开始,我们将称之为Git服务器。我们需要一个Git服务器来允许团队协作。
创建新用户
上述命令将生成以下结果。
创建裸仓库
让我们通过使用 init 命令后跟 --bare 选项来初始化新仓库。它会初始化一个没有工作目录的仓库。按照惯例,裸仓库的名称必须为 .git 。
生成公私钥对
让我们来看一下配置Git服务器的过程, ssh-keygen 实用工具会生成公私钥对,我们将用于用户身份验证。
打开终端,输入以下命令,每个输入都只需按Enter键即可。完成后,它将在主目录内创建一个 .ssh 目录。
以上命令将产生以下结果。
ssh-keygen 生成了两个密钥,第一个是私钥(即id_rsa),第二个是公钥(即id_rsa.pub)。
注意: 不要与他人共享您的私钥。
将密钥添加到authorized_keys中
假设有两个开发者正在进行一个项目,即Tom和Jerry。这两个用户都生成了公钥。让我们看看如何使用这些密钥进行身份验证。
Tom通过以下方式将他的公钥添加到服务器中: ssh-copy-id 命令如下所示 –
上述命令将会产生以下结果。
同样地,Jerry通过使用ssh-copy-id命令将他的公钥添加到了服务器。
上述命令将生成以下结果。
推送更改到代码库
我们在服务器上创建了一个裸代码库,并允许两个用户访问。从现在开始,Tom和Jerry可以通过将其添加为远程仓库来推送他们的更改到代码库中。
git init命令会在每次从.git/config文件中读取配置时创建一个 .git 目录,用于存储代码库的元数据。
Tom创建一个新目录,添加README文件,并将其更改提交为初始提交。提交后,他通过运行 git log 命令来验证提交消息。
上述命令将产生以下结果。
Tom通过执行git log命令来查看日志消息。
上述命令将产生以下结果。
Tom将他的更改提交到了本地仓库。现在,是时候将这些更改推送到远程仓库了。但在此之前,我们要将该仓库添加为远程仓库,这是一次性的操作。完成之后,他就可以安全地将更改推送到远程仓库了。
注意: 默认情况下,Git只推送匹配的分支:对于在本地存在的每个分支,如果远程已经存在一个同名的分支,那么它将被更新。在我们的教程中,每当我们将更改推送到 origin master 分支时,请根据您的需求使用适当的分支名称。
上述命令将产生以下结果。
现在,更改已成功提交到远程存储库。