===================================html
- 本地仓库和远程仓库是彻底隔开的
- 代码存储在云端GitHub
- SSH key验证身份 使用场景:能够避免咱们重复的输入密码,提升开发效率;访问远程服务
- 若是SSH key私钥(即.ssh文件夹中的id_rsa文件)被第三方获取,那么他将能够您的身份来操做 Git 仓库,这跟密码被盗同样严重
- 上传代码:私钥加密
- GitHub用帐号留下的公钥解密
ssh-keygen -t rsa -b 4096 -C "your_email@example.com" 复制代码
cat ~/.ssh/id_rsa_pub 复制代码
okgit
GitHub_SSH key帮助文档
ssh -T git@github.com 复制代码
不可敲回车,输入yes便可
看到Hi xxx! You've successfully authenticated...说明添加成功
- GitHub,别用HTTPS协议,每次要输密码不方便
- 使用SSH key
- 电脑-私钥 GitHub帐号-公钥
- 上传代码用私钥加密,github用公钥解密
git remote add ...
了能够设置:github
git remote set-url origin git@github.com:yourName/***.git 复制代码
来修改以前的origin URL,是否是很鸡贼segmentfault
cd ~/.ssh ll 复制代码
$ ls -al ~/.ssh # Lists the files in your .ssh directory, if they exist 复制代码
cp id_rsa id_rsa_bk cp id_rsa.pub id_rsa_bk.pub ll 复制代码
ssh-keygen -t rsa -b 4096 -C 你的邮箱 cat ~/.ssh/id_rsa.pub # 获得公钥内容 ssh -T git@github.com git remote add origin git@xxxxxxx git push -u origin master 复制代码
touch ~/.bashrc echo 'alias ga="git add"'>> ~/.bashrc echo 'alias gc="git commit -v"'>> ~/.bashrc echo 'alias gl="git pull"'>> ~/.bashrc echo 'alias gp="git push"'>> ~/.bashrc echo 'alias gco="git checkout"'>> ~/.bashrc echo 'alias gst="git status -sb"'>> ~/.bashrc 复制代码
alias glog="git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit -- | less" 复制代码
个人配置:bash
alias Glg="git log --color --graph --date=relative --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit" 复制代码
有没有一种能够实现一键ga+gv "xxx"+gl+gp+gst的Combo技?markdown
重复添加SSH key会如何?less
会使你以前添加的key失效
·未完待续·ssh
高频使用的 Git 命令: 不是入门文档,官方文档确定比我全面,这里是结合实际业务场景输出。工具
若是你看到 “access denied”:表示拒绝访问,那么你就须要使用 https 去访问,而不是 SSH 。post
Checking for existing SSH keys
Generating a new SSH key and adding it to the ssh-agent