Github--账号重新申请与配置

2017-04-24

最近洗心革面痛下决心要好好再深入学习一番前端,正好加入了一个外包团队接了份单子,外包项目正在如火如荼地进行着,自己也打算趁这个机会来好好学习总结一番。

但是俗话说得好,“工欲善其事,必先利其器”,了解现有的开发工具会有助于你更高效地开发。

首先第一点,啥是Github?

反正那年我才刚上大二,面对着各种网上搜来关于Github的解释啊教程啊一头雾水,可能是当时他们讲的太高大上了,也可能是当时自己还太年轻心浮气躁的没静下心来看,直到最近才用着用着摸出个所以然来的。

Github,目前世界上最先进的分布式版本控制系统,没有之一。[廖雪峰老师的话]

我个人觉得这玩意是不是世界最先进倒不好说,反正很是流行。本人一计算机专业代码狗,身边的同学都会用Github,做个作业打个项目:“你去Github搭个仓库吧”,搞得你不会用Github就会被同学鄙视一番,那可怎么办,学啊。

首先先来看这个版本控制系统,为何要版本控制呢?假设你做一个项目,弄了个1.0版本,后面客户改了改需求,你在原来的基础上弄了个2.0版本,结果客户一看这需求改的不好还是想要回原来的。改的少还好,改得多了你只能一边骂街一边改回去,搞不好你都不记得之前的代码长啥样了。那有人说我弄一个版本保存一个副本就好了呗,改个十多次放得又乱你还能找到原来的代码?而且这很浪费内存的。所以如果能有一个系统,帮你保存你的每个版本(不管这个版本是否完整都能帮你保管),你只需要每次把手头上弄好的最新版本提交到这个系统上即可,然后可以继续在你原有的代码上修改。就算你手头上的代码丢了、不想要了,随时随地都能在这个系统中找回代码或者退回以前的版本去,这样岂不妙哉!Github就是这样一个强大的版本控制系统。

然后再说说这个分布式,分布分布,从其字面意思看,就是把内容分别布置在不同的地方。那么这个分布式又有什么用呢?现在项目讲究团队合作嘛,假设你和你的队友一起做网站,各做了页面的一部分,那么每次做好了你们还得用U盘拷贝一份到对方的电脑上,然后手动整合代码,这样才能合并成一个完整的页面,听起来感觉很是麻烦,也很容易乱。但是使用Github以后,你们每个人都可以把自己做好的最新的版本放到Github上面去,Github会帮你们自动整合成一份完整的代码(特殊情况时Github会提示需要你手动整合),然后这时你就可以把Github上的最新版本代码复制(pull)到你的电脑上面去,从此你就有了一份完整的代码,你的队友也是如此。整个开发过程你们就这样提交(push)又pull,无需U盘,可远程操作,方便了许多。

总地严肃地说,分布式的版本控制就是每个人都可以创建一个独立的代码仓库用于管理,各种版本控制的操作都可以在本地完成。每个人修改的代码都可以推送合并到另外一个代码仓库中。[摘自百度知道,出处不详]

 

总而言之,言而总之,Github是个好东西,希望你也有哈哈。

那么如何拥有Github账号呢?

1.首先登陆其官网:https://github.com/

 新来的同学请点击右上角的Sign Up,已有账号请点击Sign in并跳过第二步

 

2.填写注册所需的个人信息

用户名(不可重复)、邮箱、密码等等。。。

然后坐等Github给你邮箱里面发激活链接,点击激活链接之后你就拥有一个自己的Github账号啦😄

 

3.创建仓库

何为仓库?仓库是Github保存代码的单位,你可以把一个仓库看作一个项目,里面仅存放与你这个项目有关的代码,或者是一类项目(反正看个人爱好分) 。

点击“New repository”,进入创建仓库界面,repository name是仓库名,Description是关于仓库的描述(相当于副标题),然后一般创建Public仓库,Private的要收钱一般是公司用的,也别想着你那丢代码有谁来看反正我是没啥关系。最后勾不勾readme都行,但是我还是建议你勾选一下,readme一般是说一下这个项目用了啥框架,多厉害多厉害,最重要的是运行方法啥的。

现在你在远程的github系统上面已经有一个仓库啦,下面来说说如何让你本地的代码能够上传到github系统上面去。

 

4.安装git

git相当于github的客户端,当你在本地打好代码以后,通过git把代码上传到远程仓库,也是通过git来下载代码。

关于安装还是请看廖雪峰老师的教程,写的很是详细,我在这里不再赘述:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137396287703354d8c6c01c904c7d9ff056ae23da865a000/

最后需要强调这点!!因为我是觉得自己以前的Github账号上的内容太烂,又重新拿新邮箱申请了一个账号,重新生成了ssh(下面再说这个是干嘛的)绑定了账号以后,打好代码一提交,嗨,Github上面的记录竟然显示的是我的旧账号提交的代码而不是新账号。气得我把旧账号整个删除了,还是不行。最终我想起了这个一开始安装git时设置的“自报家门”信息,改了过来,就变成了新账号提交的了。设置是如下两条:

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

如果需要查看已有设置信息,则:

$ git config user.name 
  "Your Name"
$ git config user.email 
  "email@example.com"

 

5.ssh key

其实我后来才知道ssh key跟账号提交纪录半毛钱关系都没有(捂脸)

首先说一下ssh是干啥用的吧,当你在github网站上创建了一个仓库以后,首先是得把这个仓库克隆到你的本地电脑上面去。

有人可能会问干嘛还得克隆,我自己随便在电脑上弄个同名的文件夹就好啦,但是实际上是不一样的,克隆下来的文件夹里面会有一个隐藏的.git文件夹,其中储存了你的版本信息与提交纪录,而且只有有这个隐藏.git文件夹的文件才能提交(push)到远程github仓库上。

那么一般从github仓库克隆到本地去有两种方法:https和ssh

$ git clone "https/ssh"

一般初学者都会用https,因为它很是方便,只需要直接在命令行输入“git clone https...”即可克隆成功,任意项目不管你是不是项目所有者都可以使用https克隆。当然有利也有弊,https在提交(push)的时候需要验证用户名和密码才可push成功,当你不是项目所有者或参与者的时候,你是不能push的。

 

ssh配置有些麻烦,但是配置好后,在你push到自己项目里去的时候是不用验证用户名和密码的,但要注意只有你自己创建或参与的项目可以使用ssh克隆,其他人的项目是不能使用ssh克隆的。

 

6.ssh配置

 (1)首先检查一下你电脑是否已经有ssh key啦

 运行 git Bash 客户端,输入如下代码:

$ cd ~/.ssh
$ ls

这两个命令就是检查是否已经存在 id_rsa.pub 或 id_dsa.pub 文件,如果文件已经存在,那么你可以跳过步骤(2),直接进入步骤(3)。

 

(2)创建ssh key

$ ssh-keygen -t rsa -C "your_email@example.com"

然后它会问你要不要换个名称保存你的ssh key

Generating public/private rsa key pair.
# Enter file in which to save the key (/c/Users/you/.ssh/id_rsa): [Press enter]

当然,你也可以不输入文件名,使用默认文件名(推荐),那么就会生成 id_rsa 和 id_rsa.pub 两个秘钥文件。

接着又会提示你输入两次密码(该密码是你push文件的时候要输入的密码,而不是github管理者的密码),

当然,你也可以不输入密码,直接按回车。那么push的时候就不需要输入密码,直接提交到github上了,如:

Enter passphrase (empty for no passphrase): 
# Enter same 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 key 已经创建成功,你只需要添加到github的SSH key上就可以了。

 

(3)添加ssh key到远程github账户

ssh key其实就是生成的一对公私钥(其中的id_rsa为私钥,id_rsa.pub为公钥)公钥id_rsa.pub 会被放到远程github账户上面去,这样每次push的时候系统会将公钥和提交请求所携带的私钥进行对比、解密,通过即可push成功。(看不太懂的同学去查一下计算机安全之公私钥加密)

所以首先你需要复制 id_rsa.pub 文件的内容 ,一般是以ssh-rsa开头的。

 

然后登陆远程github账户,点击“setting”

再看到其中的“SSH and GPG keys”

 

点击“New SSH key”

把你的ssh key复制黏贴到“Key”中即可,title是用于给这次添加的ssh key起标题,有的人可能会在多台电脑上开发,每换一台电脑就得重新添加一个ssh key,所以要起不同的title以区分。最后点击“Add SSH key”即添加成功。

 

(4)测试SSh是否添加成功

在git Bash 中输入以下代码

$ ssh -T git@github.com

当你输入以上代码时,会有一段警告代码,如:

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 回车既可。如果你创建 SSH key 的时候设置了密码,接下来就会提示你输入密码,如:

Enter passphrase for key '/c/Users/Administrator/.ssh/id_rsa':

当然如果你密码输错了,会再要求你输入,知道对了为止。

注意:输入密码时如果输错一个字就会不正确,使用删除键是无法更正的。

密码正确后你会看到下面这段话,如:

Hi username! You've successfully authenticated, but GitHub does not
# provide shell access.

如果用户名是正确的,你已经成功设置SSH密钥。如果你看到 “access denied” ,者表示拒绝访问,那么你可能哪里操作出了点问题,在配一次呗(略略略)

 

(5)一个电脑同时使用多个github账号的SSH key

有的时候可能你们像我一样,不想要以前的github账号了,想换一个,那怎么操作呢?教程如下,这里不再赘述:

教程链接:http://jingyan.baidu.com/article/948f592414ad67d80ef5f966.html

当然你也可以把之前的那个.ssh直接删了再重新生成,不过这就相当于你放弃旧的账号啦。

切记push的时候账号信息看的是你的git config配置!把它改过来再说!(如果你不知道我在说什么,请回顾4.安装git

今天就分享到这里,自己才疏学浅,有任何错漏欢迎指出!也欢迎大神交流!

posted @ 2017-04-24 21:58  丝瓜儿  阅读(4605)  评论(0编辑  收藏  举报