使用GitHub

什么是Git

Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。Git是Linux Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。

什么是GitHub

GitHub是一个基于网络的,给使用以Git为版本控制的项目提供的托管服务。使用Ruby on Rails编写,主要开发人员有Chris Wanstrath, PJ Hyett, and Tom Preston-Werner.GitHub即提供商业化的使用,也为开源项目提供免费的账户。根据在2009年对Git用户的调查,GitHub是最流行的Git托管网站。

如何使用GitHub

首先你必须安装Git和申请GitHub的一个账户,配置Git

1
2
3
$ git config --global user.name "你的名字,如test"
 
$ git config --global user.email "你的邮箱,如test@test.com"

对于你为Git设置的邮件地址应该与您的GitHub的账户设置的默认邮箱地址相同,如果不同,你需要做如下操作

  • 登录你的GitHub帐号
  • 进入Account Settings
  • 点击左侧边栏的“Emails”选项
  • 点击“Add another email address”
  • 输入一个新邮件地址并且点击“Add”
  • 删除以前的邮件地址

如果你希望你的邮件地址被隐藏,你需要这样做:

Git在你做一些提交操作时需要提供身份证明,但是你可以通过伪造邮件地址来隐藏你的真实的email信息。Git并不关心邮件地址是不是合法。
需要注意的是,尽管Git不在意,但是如果你没有提供有效的邮件地址,一些项目可能不会接受你的提交操作。所在在做下面的操作前你需要先确定你的项目的一些条款。
Github并没有收到多少关于垃圾邮件被发送到Git使用的邮箱的报告。但是如果你担心这些,以下操作应该能帮助你解决这些问题。
一些人可能想要隐藏他们的邮件地址,常用的方法是使用“user@server”来代替提供完整的主机名的电子邮件。如果你想要这样设置并且仍能够让你的提交操作连接到你的GitHub账户,遵照这些步骤来:
步骤1:为Git配置伪造的邮件地址
不使用完整的电子邮件(例如,“user@server.com”),你可以配置Git的“user.email”为截断的版本,它将仍然作为你的唯一标识符。

1
2
$ git config --global user.email "user@server"
#设置邮箱地址为截断的值

需要注意的是:使用 –global 标记将为你所有的Git项目配置伪造的邮箱地址。如果在某一个项目文件下,你可以使用不带 –global 标记的命令来为这个项目覆盖全局的配置。

步骤2:向你的GitHub账户添加伪造的邮箱地址

  • 登录你的GitHub帐号
  • 进入Account Settings
  • 点击左侧边栏的“Emails”选项
  • 点击“Add another email address”
  • 输入一个邮件地址(如上面所说的.”user@server”)并且点击“Add”

步骤3:现在在你提交操作时可以不用担心垃圾邮件了

这些操作只对操作结束后的提交操作有效,如果你想清除以前的提交记录,你需要重写你的以前的提交记录。最见简单的办法是:

>使用“git filter-branch重写记录

>强制推送新的历史记录

重写记录是不建议的操作,你应该只在需要的时候做这个操作。

缓存密码

最后的操作是,我们要告诉git我们并不想每次与远程服务器交互时都需要输入用户名和密码(你需要git版本1.7.10或更新的版本来使用credential)。

要使用这个操作,你需要启用credential helper,以使得git在内存中保存你的密码一段时间。

1
2
3
$ git config --global credential.helper cache
 
#Set git to use the credential memory cache

默认情况下会缓存你的密码15分钟,我们可以更改它

1
2
3
$ git config --global credential.helper ‘cache --timeout=3600’
 
#1小时的缓存

注意:credential.helper仅仅在你clone HTTPS repo URL时候有效。如果你使用SSH repo URL,SSH keys被用来验证。

如何生成SSH Keys

如果你打算不使用HTTPS方法,我们可以使用SSH keys在你的电脑和GitHub之间建立一个安全的链接。下面的步骤会告诉你如何生成一个SSH key并且将他们添加到你的GitHub账户中。

步骤1:检查SSH keys

已经存在一个你想使用的密钥对,打开终端并且运行:

1
2
3
$ cd ~/.ssh
 
#检查在你的用户目录中是否已经存在一个叫”.ssh"的目录

如果它显示“No such file or directory”,跳到步骤3,否则进入步骤2.

步骤2:备份并删除已存在的SSH keys

因为已经存在一个SSH目录,你需要备份它并且删除它

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$ ls
 
# Lists all the subdirectories in the current directory
 
config    id_rsa    id_rsa.pub    known_hosts
 
$ mkdir key_backup
 
# Makes a subdirectory called "key_backup" in the current directory
 
$ cp id_rsa* key_backup
 
# Copies the id_rsa keypair into key_backup
 
$ rm id_rsa*
 
# Deletes the id_rsa keypair

步骤3:生成一个新的SSH key

我们使用默认设置,当叫我们输入一个保存key的文件时,直接点击enter

1
2
3
4
5
6
7
$ ssh-keygen -t rsa -c "your_email@youremail.com"
 
#使用指定的邮件地址(如test@test.com)生成一个新的ssh key
 
Generateting public/private rsa key pair.
 
Enter file in which to save the key(/home/you/.ssh/id_rsa);

现在你需要输入passphrase(相当于密码之类的东西)

1
2
Enter passphrase (empty for no pass[hrase):[Type a passphrase]
Enter same passphrase again: [Type passphrase again]

现在终端应该显示像下面的东西

1
2
3
4
Your identification has been saved in /home/you/.ssh/id_rsa.
Your public key has been saved in /home/you/.ssh/id_rsa.pub.
 
The key finerprint is 01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db your_email@youremail.com

步骤4:添加SSH key至GitHub

运行如下命令复制key到粘帖板

1
2
3
4
5
6
7
$ sudo apt-get install xclip
 
#Downloads and installs xclip
 
$ xclip -sel clip < ~/.ssh/id_rsa.pub
 
#复制id_rsa.pub文件中的内容到粘帖板中
  • 进入你的 Account Settings
  • 点击左侧的 SSH Keys
  • 点击 “Add SSH Key”
  • 粘帖你的key到“key”的输入框中
  • 点击“Add key”
  • 输入你的GitHub密码来确认这次操作
步骤5:测试
通过SSH连接到GitHub。当你到这步时,你会被要求用你的密码来确认这次操作,这个密码就是你前面使用到的passphrase。不要改变“git@github.com”,这个是固定的。
1
2
$ ssh -T git@github.com</div>
#通过ssh 连接到github
你可能看到如下警告:
1
2
3
4
The authenticity of host "github.com(207.97.227.239)' can't be
established.RAS key fingerprint is
16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.Are you sure youwant to
continue connection(yes/no)?
不用担心,输入“yes”
如果用户名是正确的,你成功的建立了你的SSH key。
原文地址:https://www.cnblogs.com/hwpayg/p/2776101.html