What & How & Why

Git & GitHub

本文记载了关于 GitGitHub 的一些概念和使用方法。


添加 github 远程仓库

首先查找用户主目录下有没有 id_rsaid_rsa.pub 的文件,如果没有,使用以下命令生成 key(命令中的邮箱使用自己的邮箱):

ssh-keygen -t rsa -C "youremail@xxxmail.com"
运行以上命令后访问 .ssh 目录,会找到 id_rsaid_rsa.pub 两个文件,前者是私有密钥,需要妥善保存;后者是公有密钥,可以放心告诉别人。

接下来到 Github 中的 seting 中找到 SSH and GPG keys,将刚才生成的 id_rsa.pub 中的内容作为一个新的 SSH key 添加到 GitHub中。

添加完成之后可以输入如下命令测试是否连接成功:
ssh -T git@github.com
如果显示以下文本就证明连接成功了:
Hi XXXX! You've successfully authenticated, but GitHub does not provide shell access.
到此就可以使用 git 命令对远程库操作了。

使用 WSL 的问题

GitHub Error Message - Permission denied (publickey)

可能的解决方案:

  • 不使用 sudo 进行 Git 命令的使用
  • 如果出现以下错误:

Git XXX: fatal: could not set 'core.filemode' to 'false'
尝试修改 /etc/wsl.conf,添加以下代码(没有则创建):
[automount]
options = "metadata"
之后运行:
wsl --shutdown
重启即可

Git 流程

主要工作流程: 修改→stage→commit 单人项目流程 master→new→branch→merge→master 多人项目流程- remote→fetch→merge origin/master→修改→commit→fetch&merge the origin again → push