- GitHub与本地Git仓库间建立SSH
- GitHub上创建repository & remote add/remove & push & clone
- 参与开源项目fork&pull request
- 加密、认证、公钥、私钥的概念
- 1.GitHub与本地Git仓库间建立SSH
- ssh-keygen -t rsa -C “Your Email”:默认在用户主目录里生成 .ssh目录,其中的id_rsa为私钥,id_rsa.pub为公钥
- 在GitHub->Settings->SSH and GPG keys中 New SSH key出现Title和Key,Title随意,Key中放入公钥id_rsa.pub的内容
- 2.GitHub上创建repository & remote add/remove & push & clone
- New repository出现上图,填入Repository name和Description就好了,当然也可以Initiallize with a README创建好后,可以create a new 也可以push an existing,相关的命令都有提示;
- git remote add origin https://github.com/用户名/repo-name.git:关联本地创库和GitHub新创建的repository;这种是使用https协议不是ssh
- git remote add origin git@github.com:用户名/repo-name.git:使用ssh连接github
- git remote remove origin:origin是远程库的名字,看.git/config,会发现原先https或ssh的连接没了
[branch "master"][remote "origin"]url = git@github.com:username/repo-name.gitfetch = +refs/heads/*:refs/remotes/origin/*[branch "master"]remote = originmerge = refs/heads/master
- git push -u origin master:把当前分支master推送到远程,-u会把本地master和远程master关联,以后的推送可以,git push origin master
-
ssh连接,第一次使用Git的clone或push命令连接GitHub时,会得到以下警告:
The authenticity of host 'github.com (xx.xx.xx.xx)' can't be established. RSA key fingerprint is xx.xx.xx.xx.xx. Are you sure you want to continue connecting (yes/no)? 可以直接yes
原因是:SSH连接第一次验证GitHub服务器的Key时,需要确认GitHub的Key指纹信息是否真的来自GitHub服务器
https://help.github.com/articles/what-are-github-s-ssh-key-fingerprints/ 这个链接可以对照fingerprint是否正确
- git clone 地址/Username/repo-name.git:地址可以是https的,也可以是ssh的,后者比较快
- 3.参与开源项目fork&pull request
- fork一个开源项目:可以在GitHub上克隆一个自己的仓库,这样clone到本地的仓库修改后才能push
- pull request给开源项目的官方库,可以提交你的修改,接不接受就看他们了
- 4.加密、认证、公钥、私钥的概念: