生成SSH密钥
为了避免在使用github时频繁输入账户和密码,有时需要设置SSH密钥来验证计算机。 ##Step 1: Check for SSH keys 检查 SSH 密钥
首先,我们需要检查您的计算机中现有的 SSH 密钥。打开你的 Git Bash 和输入:
$ ls -al ~/.ssh
# Lists the files in your .ssh directory, if they exist
下列为已经存在的文本:
- id_dsa.pub
- id_ecdsa.pub
- id_ed25519.pub
- id_rsa.pub
##Step 2: Generate a new SSH key 生成新的 SSH 密钥
生成一个新的SSH密钥,复制并粘贴下面的文本,确保替代你的电邮地址。默认设置是首选的,所以当你提示“Enter a file in which to save the key”,按回车继续。
$ ssh-keygen -t rsa -C "your_email@example.com"
# Creates a new ssh key, using the provided email as a label
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/you/.ssh/id_rsa): [Press enter]
接下来,输入密码
提示:我们强烈推荐使用一个很好的,安全的密码。更多信息,见 SSH 密钥的口令工作。
Enter passphrase (empty for no passphrase): [Type a passphrase]
Enter same passphrase again: [Type passphrase again]
显示如下:
Your identification has been saved in /c/Users/you/.ssh/id_rsa.
Your public key has been saved in /c/Users/you/.ssh/id_rsa.pub.
The key fingerprint is:
01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db your_email@example.com
添加你的新的密钥到 ssh-agent(ssh 代理)
# start the ssh-agent in the background
$ ssh-agent -s
Agent pid 59566
$ ssh-add ~/.ssh/id_rsa
##Step 3: Add your SSH key to GitHub 添加 SSH 密钥到 Github
运行下面命令,拷贝 密钥 到 剪贴板,记住 密钥 名称可能是 id_dsa.pub, id_ecdsa.pub 或 id_ed25519.pub.
$ gedit ~/.ssh/id_rsa.pub
# Copies the contents of the id_rsa.pub file to your clipboard
进入github,点击头像——>Settings——>SSH and GPG keys 添加SSH keys
##Step 4: Test everything out 测试
打开 Git Bash 输入:
$ ssh -T git@github.com
# Attempts to ssh to github
看到如下警告
The authenticity of host 'github.com (207.97.227.239)' can't be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)?
输入 “yes”
Hi username! You've successfully authenticated, but GitHub does not
provide shell access.
如果 username 是你的用户名,说明你已经成功了。
HTTPS 转到 SSH
如果你从 HTTPS 转到了 SSH ,需要更新你的 远程库的 URL。
使用 git remote set-url
命令改变当前远程库的URL。
git remote set-url
命令有两个参数:
-
当前远程库名:origin or github etc.
-
远程库待更新的URL
- 如果采用HTTPS来更新,URL 如:
https://github.com/USERNAME/REPOSITORY.git
-
如果更新到SSH,URL 如:
git@github.com:USERNAME/REPOSITORY.git
- 如果采用HTTPS来更新,URL 如:
修改本地仓库信息
-
重命名远程库
git remote rename oldname newname
-
删除本地远程库信息
git remote rm origin
-
添加新的远程仓库, 相当于本地远程仓库信息变更了
git remote add origin git@github.com:username/newrepo.git # 使这个”新”的仓库follow远程的master分支 git branch –set-upstream-to=origin/master master
其他操作
-
查看配置信息
git config --list or git config user.name
-
配置用户信息
git config --global user.name "yourname" git config --global user.email emailname@example.com
-
设置默认使用的文本编辑器 Git 需要你输入一些额外消息的时候,会自动调用一个外部文本编辑器给你用。默认会使用操作系统指定的默认编辑器,一般可能会是 Vi 或者 Vim。如果你有其他偏好,比如 Emacs 的话,可以重新设置:
git config --global core.editor emacs
-
差异分析工具
还有一个比较常用的是,在解决合并冲突时使用哪种差异分析工具。比如要改用 vimdiff 的话:
$ git config --global merge.tool vimdiff
Git 可以理解 kdiff3,tkdiff,meld,xxdiff,emerge,vimdiff,gvimdiff,ecmerge,和 opendiff 等合并工具的输出信息。