Jade Dungeon

GitHub

GitHub账号

先要申请账号,建立自己的repo。然后上传自己的ssh-key作为连接凭证。上传后检查 是否能成功连接:

ssh -T git@github.com

如果失败,用debug方式检查一下是不是因为防火墙的原因:

ssh -vT git@github.com

还有一个失败的可能性是因为没有把私钥加上:

ssh-add ~/.ssh/id_rsa

验证可能成功连接后,把repo复制下来:

git clone git@github.com:Jade-Shan/Jade-Wubi.git

复制下来的第一次提交声明提交到来源:

git push origin master

以后的直接push就可以了:

git push

端口设置

2024年发现ssh远程不了:

$ git clone git@github.com:xxxxx/xxxx.git my-awesome-proj
Cloning into 'my-awesome-proj'...
ssh: connect to host github.com port 22: Connection timed out
fatal: Could not read from remote repository.

参数-T测试连接也会报错:

$ ssh -T git@github.com
ssh: connect to host github.com port 22: Connection timed out

但改端口和服务器可以:

$ ssh -T -p 443 git@ssh.github.com
Hi xxxx! You've successfully authenticated, but GitHub does not provide shell access.

所以修改~/.ssh/config用指定的主机和端口访问github:

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

再测试连接可以成功:

$ ssh -T git@github.com
Hi xxxxx! You've successfully authenticated, but GitHub does not
provide shell access.

git操作也正常:

$ git clone git@github.com:xxxxxx/xxxxx.git my-awesome-proj
Cloning into 'my-awesome-proj'...
remote: Enumerating objects: 15, done.
remote: Counting objects: 100% (15/15), done.
remote: Compressing objects: 100% (14/14), done.
remote: Total 15 (delta 0), reused 15 (delta 0), pack-reused 0
Receiving objects: 100% (15/15), 22.90 KiB | 4.58 MiB/s, done.

no-reply邮箱

为什么不推荐使用其他邮箱地址,比如,常见的个人/工作/组织邮箱

$ git config --global user.email "zhuyiruo@red.com"

一旦想在Github账号删除一个邮箱,与该邮箱关联的贡献会消失得无影无踪

所以最稳妥的,不管是改用户名,还是改邮箱都不会丢失任何提交记录的方式:

$ git config --global user.name "任何文本"
$ git config --global user.email "ID+username@users.noreply.github.com”

设置提交email地址其实包含两层含义:

  • 针对从命令行推送的提交
  • 针对基于 web 的 git 操作推送的提交

核心建议都是使用基于ID的GitHub-provided noreply地址, 即<ID+username@users.noreply.github.com>

同样是GitHub提供的no-reply邮箱<username@users.noreply.github.com> (如果你的GitHub帐户创建于2017年7月18日以前)

使用这个邮件地址进行提交,然后更改用户名,这些提交就不会和你的GitHub 帐户关联, 但此原则不适用于基于ID的GitHub-provided noreply地址。

如何获得基于ID的GitHub-provided no-reply邮箱?

打开Github,点右上角个人资料照片 ➡️Settings(设置)➡️左侧边栏点 Emails ➡️选择或者取消选择并重新选择Keep my email addresses private(对我的电子邮件保密)

创建项目

在GitHub上新建一个项目

  mkdir study
  cd study
  git init
  touch README
  git add README
  git commit -m 'first commit'
  git remote add origin git@github.com:Jade-Shan/study.git
  git push -u origin master

导出一个GitHub上已经存在的项目

把本地的项目加到github上的空库中:

  git remote add origin git@github.com:Jade-Shan/study.git
  git push -u origin master

导出一个GitHub上已经存在的项目

  cd existing_git_repo
  git remote add origin git@github.com:Jade-Shan/study.git
  git pull -u origin master

代码展示

github上高亮指定代码段,在代码页面URL后面加上行号范围,如:#L89-L121