文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Git创建操作的方法是什么

2024-04-02 19:55

关注

这篇文章主要介绍“Git创建操作的方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Git创建操作的方法是什么”文章能帮助大家解决问题。

创建新用户

# add new group[root@CentOS ~]# groupadd dev# add new user[root@CentOS ~]# useradd -G devs -d /home/gituser -m -s /bin/bash gituser# change password[root@CentOS ~]# passwd gituser

上述命令将产生以下结果。

Changing password for user gituser.New password:
Retype new password:
passwd: all authentication token updated successfully.

创建裸存储库

让我们使用init命令后跟--bare选项来初始化一个新的存储库。它在没有工作目录的情况下初始化存储库。按照惯例,裸存储库必须命名为.git。

[gituser@CentOS ~]$ pwd
/home/gituser
[gituser@CentOS ~]$ mkdir project.git
[gituser@CentOS ~]$ cd project.git/
[gituser@CentOS project.git]$ ls
[gituser@CentOS project.git]$ git --bare init
Initialized empty Git repository in /home/gituser-m/project.git/
[gituser@CentOS project.git]$ ls
branches config description HEAD hooks info objects refs

生成公共/私人 RSA 密钥对

让我们来看看配置 Git 服务器的过程,ssh-keygen实用程序会生成公钥/私钥 RSA 密钥对,我们将使用它来进行用户身份验证。

打开终端并输入以下命令,然后为每个输入按回车键。成功完成后,它将在主目录中创建一个.ssh目录。

tom@CentOS ~]$ pwd
/home/tom
[tom@CentOS ~]$ ssh-keygen

上述命令将产生以下结果。

Generating public/private rsa key pair.
Enter file in which to save the key (/home/tom/.ssh/id_rsa): Press Enter Only
Created directory '/home/tom/.ssh'.
Enter passphrase (empty for no passphrase): ---------------> Press Enter Only
Enter same passphrase again: ------------------------------> Press Enter Only
Your identification has been saved in /home/tom/.ssh/id_rsa.
Your public key has been saved in /home/tom/.ssh/id_rsa.pub.
The key fingerprint is:df:93:8c:a1:b8:b7:67:69:3a:1f:65:e8:0e:e9:25:a1 tom@CentOS
The key's randomart image is:
+--[ RSA 2048]----+
| |
| |
| |
|
.
|
| Soo |
| o*B. |
| E = *.= |
| oo==. . |
| ..+Oo
|
+-----------------+

ssh-keygen生成了两个密钥,第一个是私有的(即 id_rsa),第二个是公共的(即 id_rsa.pub)。

注意:切勿与他人共享您的私钥。

将密钥添加到authorized_keys

假设有两个开发人员在从事一个项目,即 Tom 和 Jerry。两个用户都生成了公钥。让我们看看如何使用这些密钥进行身份验证。

Tom 使用ssh-copy-id命令将他的公钥添加到服务器,如下所示

[tom@CentOS ~]$ pwd
/home/tom
[tom@CentOS ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub gituser@git.server.com

上述命令将产生以下结果。

gituser@git.server.com's password:
Now try logging into the machine, with "ssh 'gituser@git.server.com'", and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.

同样,Jerry 使用 ssh-copy-id 命令将他的公钥添加到服务器。

[jerry@CentOS ~]$ pwd
/home/jerry
[jerry@CentOS ~]$ ssh-copy-id -i ~/.ssh/id_rsa gituser@git.server.com

上述命令将产生以下结果。

gituser@git.server.com's password:
Now try logging into the machine, with "ssh 'gituser@git.server.com'", and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.

将更改推送到存储库

我们在服务器上创建了一个裸存储库,并允许两个用户访问。从现在开始,Tom 和 Jerry 可以通过将其添加为远程来将他们的更改推送到存储库。

每次从.git/config文件读取配置时,Git init 命令都会创建.git目录来存储有关存储库的元数据。

Tom 创建一个新目录,添加 README 文件,并将他的更改作为初始提交提交。提交后,他通过运行git log命令来验证提交消息。

[tom@CentOS ~]$ pwd
/home/tom
[tom@CentOS ~]$ mkdir tom_repo
[tom@CentOS ~]$ cd tom_repo/
[tom@CentOS tom_repo]$ git init
Initialized empty Git repository in /home/tom/tom_repo/.git/
[tom@CentOS tom_repo]$ echo 'TODO: Add contents for README' > README
[tom@CentOS tom_repo]$ git status -s
?? README
[tom@CentOS tom_repo]$ git add .
[tom@CentOS tom_repo]$ git status -s
A README
[tom@CentOS tom_repo]$ git commit -m 'Initial commit'

上述命令将产生以下结果。

[master (root-commit) 19ae206] Initial commit1 files changed, 1 insertions(+), 0 deletions(-)create mode 100644 README

Tom 通过执行 git log 命令检查日志消息。

[tom@CentOS tom_repo]$ git log

上述命令将产生以下结果。

commit 19ae20683fc460db7d127cf201a1429523b0e319
Author: Tom Cat <tom@tutorialspoint.com>Date: Wed Sep 11 07:32:56 2013 +0530Initial commit

Tom 将他的更改提交到本地存储库。现在,是时候将更改推送到远程存储库了。但在此之前,我们必须将存储库添加为远程,这是一次性操作。在此之后,他可以安全地将更改推送到远程存储库。

注意- 默认情况下,Git 仅推送到匹配的分支:对于本地端存在的每个分支,如果远程端已存在同名分支,则会更新远程端。在我们的教程中,每次我们将更改推送到原始主分支时,请根据您的要求使用适当的分支名称。

[tom@CentOS tom_repo]$ git remote add origin gituser@git.server.com:project.git
[tom@CentOS tom_repo]$ git push origin master

上述命令将产生以下结果。

Counting objects: 3, done.
Writing objects: 100% (3/3), 242 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
To gituser@git.server.com:project.git
* [new branch]
master −> master

关于“Git创建操作的方法是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网行业资讯频道,小编每天都会为大家更新不同的知识点。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     801人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     348人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     311人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     432人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     220人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯