【git实战入门】2. 小白的第一次提交

本文最后更新于:2022年10月4日 晚上

上一篇教程已经将远程的repository clone到了本地并进行了配置,我们来进行第一次提交和修改。

前言

要成功将修改提交到仓库,前提是要证明你对仓库有修改的权力,毕竟不是什么阿猫阿狗都能随便改的。

一般验证的方式有三种:
验证你是你(对你所有的仓库都可以进行修改):

验证你可以修改这个仓库(仅针对这一个仓库)

  • Deploy keys

本文先讲如何优雅地配置SSH keys

通过SSH keys连接到GitHub

官方文档:《通过 SSH 连接到 GitHub

检查SSH keys

打开终端或者 git bash:

1
ls -al ~/.ssh

检查有没有 id_dsa 和 id_dsa.pub 文件。免得之后将其覆盖。

如果有的话,你可以跳过下一步。

生成密钥对

打开终端输入以下命令(修改你的邮箱)

1
ssh-keygen -t rsa -C "[email protected]"

会出现下面的内容

1
2
3
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/user/.ssh/id_rsa): 回车
Enter passphrase (empty for no passphrase): 回车

这里你可以重新命名密钥名字,也可以用id_rsa默认的密钥名,所以直接回车两次就好。

然后如果输出下面内容,表示key创建成功。

1
Your identification has been saved in /home/you/.ssh/id_rsa

添加ssh-agent

Windows上,如果生成的是默认的id-rsa,那么无需执行此步。

首先我们要把密钥添加到后台的ssh-agent代理,让他帮我们在需要的时候完成授权任务,运行如下命令:

1
2
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa

SSH公钥加入Github账号

最后一步,我们需要把公钥信息加入到Github的SSH管理中,使用如入命令查看ssh公钥信息:

1
cat ~/.ssh/id_rsa.pub

复制公钥信息后,点此添加SSH密钥

粘贴公钥到此处即可。

随后测试下有没有授权成功,运行如下命令:

1
ssh -T [email protected]

出现以下信息则算成功:

1
Hi 你的用户名! You've successfully authenticated, but GitHub does not provide shell access.

修改并提交

clone下来仓库,用 vscode 进行编辑 README 文件。

提交的方式太多了,VSCode可以就可以提交并push,GitHub Desktop也可以。但既然是教程,那还是先讲命令行方式。

vscode 有很多有意思的插件,比如说 Git Lens ,让你快速使用 git blame,也就是找到每一行代码最后编辑的人是谁。
GitHub desktop可以让你直观看到有哪些文件进行了修改,以前的commit记录,等等。

命令行

commit

所谓commit,就是我某个功能改完啦,暂时不需要改了。那么我先把这个修改提交到暂存区,也就是commit。

修改后,在项目目录下打开Git Bash,输入

1
git commit -m [message]

[message] 可以是一些备注信息。

那如果我改了三个文件,但只有两个想提交,第三个还妹改完咋整,可以提交暂存区的指定文件到仓库区:

1
git commit [file1] [file2] ... -m [message]

如果你没有设置 -m 选项,Git 会尝试为你打开一个编辑器以填写提交信息。 如果 Git 在你对它的配置中找不到相关信息,默认会打开 vim。屏幕会像这样:

1
2
3
4
5
6
7
8
9
10
11
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: hello.php
#
~
~
".git/COMMIT_EDITMSG" 9L, 257C

这时就使用vim来编辑这里的提交信息就好了,先按i来编辑,编辑好后按esc,然后输入 :wq 按回车退出。

如果我的修改是新增文件,怎么办?需要先将文件加入git仓库:

1
git add 文件名

你觉得 git add 提交缓存的流程太过繁琐,Git 也允许你用 -a 选项跳过这一步。命令格式如下:

1
git commit -a

比如说

1
git commit -am '小白的第一次提交,修改README文件'

push

所谓push,就是把之前用commit保存下来的改变,推送到远程仓库。可以多次commit,然后一次push上去。

1
git push

查看远程仓库:

1
git remote --verbose

【git实战入门】2. 小白的第一次提交
https://pawswrite.xyz/posts/10342.html
作者
Rainbow
发布于
2022年9月24日
许可协议