GIT

Github使用

github

Posted by QITINGSHE on April 15, 2018

生成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
      

修改本地仓库信息

  • 重命名远程库

    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 等合并工具的输出信息。