安装 Git

输入命令:

sudo apt-get install git

配置 Git

配置用户名和邮箱地址:

git config --global user.name "Your Name"
git config --global user.email "email@example.com"

创建SSH Key:

ssh-keygen -t rsa -C "youremail@example.com"

这一步的时候, 如果是使用的 Windows 的话, 请注意不能直接在 cmd 中执行该命令, 会报找不到 ssh-keygen 的错误. 正确的应该是右键选择 Git Bash Here, 然后再执行该命令, 就不会报错了.

此时到主目录查看.ssh目录,里面有id_rsaid_rsa.pub两个文件。id_rsa是私钥,不能泄露出去。id_rsa.pub是公钥,把这个加入到GitHub服务器,然后就可以连接到GitHub了。

使用颜色显示:

git config --global color.ui true

参照:

如果不清楚,可以查看廖雪峰官方网站的相关Git教程:廖雪峰Git教程


排错

ssh: connect to host github.com port 22: Connection timed out

git pullgit push 时候出现以上错误,且无论是本地还是服务器,均出现此错误,所以判断并不是本地网络问题。

解决办法:

vim ~/.ssh/config

# add
Host github.com
  Hostname ssh.github.com
  Port 443

Refer: https://stackoverflow.com/a/52817036/4156036


Git 黑科技

使用指定 ssh key

# 在仓库clone时指定key(git 2.10.0以上)
git clone git@github.com:yoyun/hello.git --config core.sshCommand="ssh -i ~/.ssh/you_ssh_key"

# 在config中指定key(git 2.10.0以上)
git config core.sshCommand "ssh -i ~/.ssh/you_ssh_key"


# 从Git版本2.3.0可以使用环境变量GIT_SSH_COMMAND
GIT_SSH_COMMAND="ssh -i ~/.ssh/id_rsa_example" git clone example
#请注意,-i有时可以被您的配置文件覆盖,在这种情况下,您应该给SSH一个空配置文件
GIT_SSH_COMMAND="ssh -i ~/.ssh/id_rsa_example -F /dev/null" git clone example


# ssh-agent
ssh-agent sh -c 'ssh-add ~/.ssh/id_rsa; git fetch user@host'
# 注意如果写到脚本里的时候,变量要使用`$*`而不是`$@`
ssh-agent sh -c "ssh-add ~/.ssh/id_rsa; $*"

参考: https://www.cnblogs.com/chenkeyu/p/10440798.html

Comments
Write a Comment