GitHub入门

全文摘自:http://liuzhijun.iteye.com/blog/1457207

(其他好的文章:http://www.cnblogs.com/flying_bat/p/3408634.html)

GitHub入门


 

如果你的代码不知道放哪里好,放到github是一个不错的选择。下面奉上一文入门级别的配置篇。(以下配置同时适用于window和linux)

 

在github注册完后,首先创建一个仓库(repositry),在你的个人页面右边"Your Repositories"模块,点击 New repository,这里我们把project name 填写为 “test"

GitHub入门_第1张图片

除了项目的名字是必填的外,另外两个空是可选的。点击”Create repository"之后会看到下面这个页面:

GitHub入门_第2张图片

    这就是你接下来要做的事情。首先你要安装Git客户端,windows版本下载地址,安装的时候根据提示选择下一步就行,安装完后就是设置SSH Keys

 

打开安装目录,进入Git Bash控制台

GitHub入门_第3张图片

1、检查是否存在SSH keys,如果第一次安装是没有的,输入命令(这里的命令输入方式基本和在linux下面是一样的),如果存在key了,可以直接跳到第4步。(下面的$符号是作为命令行的开始,不需要手动输入)

注意:在linux的用户目录可能没有.ssh目录,需要自己创建

 

Java代码   收藏代码
  1. $ cd ~/.ssh  

 

 如果显示 “No such file or directory "那么直接到第3步,否则执行第2步(这里的意思是说,若果没有.ssh目录,我们就要去创建一个,如果存在的话,我们就备份已经存在的)

 

2、备份、移除以存在的SSH keys

 

Java代码   收藏代码
  1. $ ls  
  2. $ mkdir key_backup  
  3. $ cp id_rsa* key_backup  
  4. $ rm id_rsa*  

 (把id_rsa*开头的文件备份到key_backup)文件中去,在把这些文件从当前目录移除

 

 

3、生成新的SSH Key

 

Java代码   收藏代码
  1. $ ssh-keygen -t rsa -C "[email protected]"  

注:如果提示错误Could not create directory '//.ssh',需要设置环境变量“home"--->"你的home目录",我这里是这样设置的  home----->users/cloudview,出现这个错误我很奇怪,不知是否安装了其他软件导致系统环境变量发生改变还是其他原因,待查?

 (上面的email是你注册时的email地址,注意双引号不能省略,提示要输入文件名来保存key是,默认按回车就行,采用系统默认的保存方式即可,接下来回提示输入一个叫”passphrases"的东西,可以简单的理解为本地机器与github通信时的凭证,相当于密码,但是比密码更复杂,也更安全,这个要记住,以后要用的)

 

最后你将看到(fingerprint)一串16进制的数字,同时在当前路径的.ssh目下面生成id_rsa.pub文件。说明key已经生成了

 

4、把刚刚生成的key添加到GitHub中去

 

在GitHub站点点击  Account Setting > SSH keys >Add SSH key,不清楚的可以看下图

GitHub入门_第4张图片

用编辑器(notepad++,vim)打开id_rsa.pub文件,选取所有内容拷贝到key的输入框里。这样key就添加成功了。

 

GitHub入门_第5张图片

此时里成功已经不远了,就差一步测试了。输入如下命令

 

Java代码   收藏代码
  1. $ ssh -T git@github.com  

 

 会提示是否继续连接,yes后,你将看到如下信息,说明应经大功告成了

 

 写道
Hi "username"! You're successfully authentiated,but GitHub does not provide shell access

 

 

别急,虽然可以连接成功了,但还不知道怎么上传文件到GitHub去呢,接下来就来试一试。

 

5、上传文件到GitHub

首先设置好个人信息,用于在提交代码是说明是谁提交的,然后还可以用email去联系他。

 

 

Java代码   收藏代码
  1. $ git config --global user.name "Firstname Lastname"  
  2. $ git config --global user.email "[email protected]"  
 

上面的名字通常是你的真实姓名。

 

接下来执行以下命令

 

Java代码   收藏代码
  1. mkdir test  
  2. cd test  
  3. git init  
  4. touch README  
  5. git add README  
  6. git commit -m 'first commit'  
  7. git remote add origin git@github.com:lzjun/test.git  
  8. git push -u origin master  

 大概意思就是在本地创建test目录,初始化,创建一个README文件,当然这个文件时空的,你可以往里面填内容。接下来就是add就是把README文件纳入到git的管理范围内,

 

commit:相当于把你项目的代码,文件及所有的东西做一个快照,(好比我们拍照),这所有的文件定格在这个时刻,之后的每一次commit也只把那些发生了改变的文件做快照。此时还并没有把代码提交到GitHub上去

 

remote:和GitHub建立远程连接,注意这里的"lzjun"就是我的账户名,这根据自己的名称做相应的改变。这一步只在你第一次提交文件的时候出现,并且要输入之前的pressphrases.

 

push:就很好理解了,把文件推送到GitHub站点去。

 

在push的时候可能会出现如下错误:
To [email protected]:lzjun/test.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to '[email protected]:lzjun/test.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes (e.g. 'git pull') before pushing again. See the
'Note about fast-forwards' section of 'git push --help' for details.

 

可以先pull一遍

 

git pull [email protected]:lzjun/importnewstat.git master
 

 

 

赶紧打开GitHub站点看看,你的test仓库里是否多了个README文件。

 

6、如果Fork别人的项目

如果想下载名为username用户的项目,我们需要使用clone命令,假设项目名叫“tools"

 

 

Java代码   收藏代码
  1. git clone git@github.com:username/tools.git  

 

补充:commit 的时候如果发生乱码:可以添加如下设置

 

 

Java代码   收藏代码
  1. git config --global i18n.commitencoding utf-8   

你可能感兴趣的:(GitHub入门)