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