前言:
在写这篇文章之前,其实我已经写过一次教程:git码云的一次配置全记录,但是当时写那个教程的时候,对于git的使用还是懵懵懂懂的,如果是新手完全照着做可能会出现一些意想不到的问题,所以在经历N次代码提交之后,我决定重新写一篇教程,去指导小白如何使用git,当然,本教程仅提供单Master分支的教程,因为本人一直都是自己开发,所以对其他分支需求还不是很大,一个Master也能勉强应付,废话不多说,开始吧。
在实际使用中可能还会遇到一些冲突的问题,可以参考这篇:git解决本地与远程冲突
1、创建仓库
1.1、登陆gitee(略过)
1.2、创建仓库
1.2.1、添加
登陆之后,进入下面这个界面,点击+号,然后在展开的菜单选择新建仓库
1.2.2、录入仓库信息
然后填入仓库信息
1.2.3、选择仓库分支结构
1.2.4、点击创建
1.2.5、创建完成
2、配置密钥
2.1、生成密钥
执行下面的命令生成一个密钥
read -p "请输入邮箱[自定义]" e;ssh-keygen -t rsa -C "$e"
执行过程:
root@xxzx-PC:~# read -p "请输入邮箱[自定义]" e;ssh-keygen -t rsa -C "$e"
请输入邮箱[自定义]x@x.com
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:URhe9x6TTOT6I91Ee7n6sxP8ffZOctN6OE/Kg8AdzQM x@x.com
The key's randomart image is:
+---[RSA 2048]----+
| .oo ..o |
| ..o .E= . |
| o +B .|
| . .o++o|
| S. ...o+o|
| o .o =+|
| ...=+X|
| .o=@B|
| .=XX|
+----[SHA256]-----+
root@xxzx-PC:~#
2.2、导入密钥
2.2.1、获取密钥
执行下面的命令获取密钥
echo 请将下面的内容复制下来&&cat ~/.ssh/id_rsa.pub
执行过程:
root@xxzx-PC:~# echo 请将下面的内容复制下来&&cat ~/.ssh/id_rsa.pub
请将下面的内容复制下来
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDZDNoG1LtQOF8KMz3bkII4CMqcpyEJYqV2u1o95/eprT64RHWqpxFmXIlMD6AeebglQXrQHRQE3TNh4pOR7PH省略好多好多。。。。。。。。uKAFASHs0EFVgZSfk9dHdY4KPBDXsNQiG0JsH0HzxR0PTW+oSqqJo4SZC2NYsur88Ov84ozVl9p827F2DTFxyh9XwHaY0u318j2hqFMHyR x@x.com
PS: 中间的中文是我改了的
然后把所有的英文部分复制下来(每个人的都不一样),我的是:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDZDNoG1LtQOF8KMz3bkII4CMqcpyEJYqV2u1o95/eprT64RHWqpxFmXIlMD6AeebglQXrQHRQE3省略好多好多。。。。。。。。+oSqqJo4SZC2NYsur88Ov84ozVl9p827F2DTFxyh9XwHaY0u318j2hqFMHyR x@x.com
2.2.2、导入
复制了之后,回到gitee网站,点击下面 的按钮,进入设置
然后来到SSH公钥
在公钥输入框粘贴生成的密钥,然后就会自己生成一个标题(可以自定义修改,但是不能改公钥的内容)
点击确定,然后提示输入密码(登陆密码),输入完成之后,点击确定即可添加成功
PS:一个密钥只能导入到一个gitee账号
2.2.3、添加成功
到这里,密钥配置就完成了,接下来需要进行仓库克隆
3、克隆仓库
PS:克隆之前,请先安装git工具
3.1、获取仓库地址
返回新建的仓库那里,然后根据下图红框从上到下的顺序依次点击
然后就得到一个仓库地址
git@gitee.com:faith01238/faith.git
3.2、克隆
在得到仓库地址之后,我们回到终端,执行下面的命令
PS:必须保证执行命令的用户跟终端与前面的一致,有一个不一样都会失败
3.2.1、克隆语法
仓库克隆的语法如下:
git clone ${git_url}
PS:请把变量改成自己的URL
3.2.2、开始克隆
根据语法所得,我需要执行的命令如下:
git clone git@gitee.com:faith01238/faith.git
执行过程:
root@xxzx-PC:~# git clone git@gitee.com:faith01238/faith.git
正克隆到 'faith'...
The authenticity of host 'gitee.com (212.64.62.183)' can't be established.
ECDSA key fingerprint is SHA256:FQGC9Kn/eye1W8icdBgrQp+KkGYoFgbVr17bmjey0Wc.
Are you sure you want to continue connecting (yes/no)? yes
PS:第一次执行的时候,需要输入yes以继续
3.2.3、克隆完成
然后克隆完成
root@xxzx-PC:~# git clone git@gitee.com:faith01238/faith.git
正克隆到 'faith'...
The authenticity of host 'gitee.com (212.64.62.183)' can't be established.
ECDSA key fingerprint is SHA256:FQGC9Kn/eye1W8icdBgrQp+KkGYoFgbVr17bmjey0Wc.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'gitee.com,212.64.62.183' (ECDSA) to the list of known hosts.
remote: Enumerating objects: 9, done.
remote: Counting objects: 100% (9/9), done.
remote: Compressing objects: 100% (9/9), done.
remote: Total 9 (delta 0), reused 0 (delta 0), pack-reused 0
接收对象中: 100% (9/9), 5.68 KiB | 5.68 MiB/s, 完成.
root@xxzx-PC:~#
4、配置用户信息
PS:以下配置需要进入项目根目录进行配置
进入项目根目录与验证
root@xxzx-PC:~# cd faith/
root@xxzx-PC:~/faith# git remote -v
origin git@gitee.com:faith01238/faith.git (fetch)
origin git@gitee.com:faith01238/faith.git (push)
root@xxzx-PC:~/faith#
4.1、配置默认分支
因为这个仓库只有master,所以执行下面的命令进行配置默认分支
git branch --set-upstream-to=origin/master master
执行过程
root@xxzx-PC:~/faith# git branch --set-upstream-to=origin/master master
分支 'master' 设置为跟踪来自 'origin' 的远程分支 'master'。
root@xxzx-PC:~/faith#
4.2、配置用户及邮箱
PS:此步骤中的用户及邮箱只是作为一个提交者的标记,所以可以自定义
4.2.1、用户名配置
执行下面的命令进行配置用户名
read -p "输入用户名" Y&&git config --global user.name "$Y"
执行过程:
root@xxzx-PC:~/faith# read -p "输入用户名" Y&&git config --global user.name "$Y"
输入用户名Y
root@xxzx-PC:~/faith#
没有提示就是执行成功,或者再次执行下面的命令获取退出码,如果是0则表示成功,其他为错误
echo $?
执行结果
root@xxzx-PC:~/faith# read -p "输入用户名" Y&&git config --global user.name "$Y"
输入用户名Y
root@xxzx-PC:~/faith# echo $?
0
root@xxzx-PC:~/faith#
4.2.2、配置邮箱
执行下面的命令进行配置邮箱
read -p "请输入你的邮箱地址" em&&git config --global user.email "$em"
执行过程:
root@xxzx-PC:~/faith# read -p "请输入你的邮箱地址" em&&git config --global user.email "$em"
请输入你的邮箱地址Y@Y.com
root@xxzx-PC:~/faith# echo $?
0
root@xxzx-PC:~/faith#
执行成功。
5、提交验证
5.1、更改文件
任意新建或者修改文件,我的过程如下:
root@xxzx-PC:~/faith# touch t.txt
root@xxzx-PC:~/faith# ls
LICENSE README.en.md README.md t.txt
root@xxzx-PC:~/faith# echo '1' > t.txt
root@xxzx-PC:~/faith#
然后查看当前状态
git status
执行结果:
root@xxzx-PC:~/faith# git status
位于分支 master
您的分支与上游分支 'origin/master' 一致。
未跟踪的文件:
(使用 "git add <文件>..." 以包含要提交的内容)
t.txt
提交为空,但是存在尚未跟踪的文件(使用 "git add" 建立跟踪)
root@xxzx-PC:~/faith#
5.2、提交更改
执行下面的命令,添加所有文件到缓存区
git add -A
然后再次查看状态
root@xxzx-PC:~/faith# git status
位于分支 master
您的分支与上游分支 'origin/master' 一致。
要提交的变更:
(使用 "git reset HEAD <文件>..." 以取消暂存)
新文件: t.txt
root@xxzx-PC:~/faith#
此时,与第一次的描述已经改变了,新建的文件已经放入了暂存区
PS:提交代码的时候,只会提交添加到暂存区的文件
5.3、提交代码
5.3.1、添加本次提交描述
每次提交代码的时候,都需要对本次提交进行一个说明,例如改了哪里之类的
PS:不要嫌麻烦,这个很重要
执行下面的命令进行提交本次推送信息
git commit -m "此次做了什么更改,在这里备注一下" ###对此次更改做一个描述
在这里我是新建了一个文件,所以我提交的信息如下:
git commit -m "创建了一个新的示例文件"
执行过程:
root@xxzx-PC:~/faith# git commit -m "创建了一个新的示例文件"
[master 77245a0] 创建了一个新的示例文件
1 file changed, 1 insertion(+)
create mode 100644 t.txt
root@xxzx-PC:~/faith#
5.3.2、推送本地代码
添加了提交描述之后,执行下面的命令即可将本地的最新代码推送到云端
git push
执行过程:
root@xxzx-PC:~/faith# git push
枚举对象: 4, 完成.
对象计数中: 100% (4/4), 完成.
使用 8 个线程进行压缩
压缩对象中: 100% (2/2), 完成.
写入对象中: 100% (3/3), 293 bytes | 293.00 KiB/s, 完成.
总共 3 (差异 1),复用 0 (差异 0)
remote: Powered by GITEE.COM [GNK-5.0]
To gitee.com:faith01238/faith.git
f13684d..77245a0 master -> master
6、验证提交结果
此时,回到网页上,刷新页面信息,可以看到,刚才提交的文件已经推送成功了,备注信息也正确了
最后,查看云端内容
结果与提交的一致,那么到这里,简单的git使用教程就结束了。如果觉得本文对你 的学习有帮助,记得点个赞关注一下。