整理-Git使用教程

0.概述

环境:Ubuntu

这里是关于Git使用的整理,将之前使用的相关的资料整理。包含下面的内容:

  1. SSH连接到Git(你不会想每次连接到Git的时候都输入账户名和密码的)
    官方资料参考:https://docs.github.com/en/github/authenticating-to-github/connecting-to-github-with-ssh

  2. 建立本地仓库之后并上传到Github

1.内容

1.1 SSH连接到Git

当你使用Git的时候,你会需要建立自己的仓库,时不时地对仓库进行操作更新等。每次都输入用户名和密码是非人类的,所以需要通过使用SSH连接到Git,这样就能够直接进行操作了。

参考资料在概述中有,下面我会详细讲述一下。

1.1.1 关于SSH

使用SSH协议,您可以连接到远程服务器和服务并进行身份验证。使用SSH密钥,您可以连接到GitHub,而无需在每次访问时都提供用户名和个人访问令牌。

设置SSH时,您将生成一个SSH密钥并将其添加到ssh-agent中,然后将该密钥添加到您的GitHub帐户中。将SSH密钥添加到ssh-agent可以确保您的SSH密钥通过使用密码短语具有额外的安全性。

可以在用户中设置SSH Key,作为全局的SSH,或者对单个仓库设置SSH Key,来单独使用。

官方文档建议您定期查看SSH密钥列表,并撤消所有无效或已被破坏的密钥。

如果一年未使用SSH密钥,那么GitHub将自动删除非活动SSH密钥,以确保安全。

1.1.2 检查现有的SSH密钥

在生成SSH密钥之前,您可以检查是否有任何现有的SSH密钥。

默认ssh key保存路径为

1
~/.ssh

如果已经有一个公共的SSH Key,那么文件中包含类似于下面的文件:

1
2
3
id_rsa
id_rsa.pub
known_hosts

如果没有的话,可以到下面一步生成新的SSH Key,如果已经有了公钥和私钥对,那么就将跳跃到SSH Key添加到ssh-agent中去。

1.1.3 生成新的SSH密钥并且添加到ssh-agent中

这里其实是两步,针对上面是否有公钥和私钥对。

1.1.3.1 生成新的SSH密钥

1
ssh-keygen -t ed25519 -C "your_email@example.com"

如果,你的系统不支持Ed25519,那么使用下面的内容:

1
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

1.1.3.2 将SSH密钥添加到ssh-agent

后台启动ssh-agent

1
eval "$(ssh-agent -s)"

将SSH私钥添加到ssh-agent,如果密钥是其他名称就使用其他名称,顺便说一下,私钥的路径上面说过了

1
~/.ssh
1
ssh-add ~/.ssh/id_ed25519

1.1.4 向Github账户中添加SSH密钥

要将GitHub帐户配置为使用新的(或现有的)SSH密钥,您还需要将其添加到GitHub帐户中。

打开xxx.pub,也就是公钥,然后将它复制。

到github页面右上角的个人资料,点击settings,在左边的栏目中点击SSH and GPG keys,点击New SSH key。

在title中,添加一个描述性的文字,例如”mytitle”
将公钥粘贴到Key中,是以ssh-xxx开始的内容

1.1.5 测试SSH连接

1
ssh -T git@github.com

当第一次输入的时候会有如下的输出

1
2
3
> The authenticity of host 'github.com (IP ADDRESS)' can't be established.
> RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
> Are you sure you want to continue connecting (yes/no)?

确定之后,会有如下的输出:

1
2
> Hi username! You've successfully authenticated, but GitHub does not
> provide shell access.

1.1.5 备注

记住我们使用的是SSH,所以当你使用HTTP连接的时候依然需要输入用户名和密码。只要选择SSH连接。。

1.2 建立本地仓库后上传到Github

现在可以开始正式一些的项目了。

1.2.1 创建一个本地仓库

1
git init MyProject

会建立MyProject文件夹,然后文件夹中会有.git隐藏文件夹,其中包含的内容是一些索引、忽略的文件等配置。

1.2.1.1 创建描述性文件

进入项目文件夹,然后建立描述文件README.md。这很重要!!!虽然没有这个文件也可以继续,但是强烈建议

1.2.1.2 将文件添加到索引中

1
2
3
git add filename
# or
git add --all

上面的是添加单个文件进入索引,下面是添加所有文件进入索引。

1.2.1.3 提交对索引的更改

1
git commit -c "comment"

后面是对于修改的一些注释,提交对索引的更改

1.2.2 在Github上创建远端仓库

打开github.com,然后建立一个Repository,点点点。
创建完成之后,我们将本地仓库和Github上的仓库进行连接

1
git remote add origin https://github.com/user_name/Mytest.git

后面的可以在网页上找到

1.2.3 将本地仓库推送到Github远端仓库

1
git push --set-upstream origin master