`
lantian_123
  • 浏览: 1359696 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

GitHub入门

阅读更多

 

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

 

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

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

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

 

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

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

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

 

$ cd ~/.ssh

 

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

 

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

 

$ ls
$ mkdir key_backup
$ cp id_rsa* key_backup
$ rm id_rsa*

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

 

 

3、生成新的SSH Key

 

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

注:如果提示错误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,不清楚的可以看下图

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

 

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

 

$ ssh -T git@github.com

 

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

 

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

 

 

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

 

5、上传文件到GitHub

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

 

 

$ git config --global user.name "Firstname Lastname"
$ git config --global user.email "your_email@youremail.com"
 

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

 

接下来执行以下命令

 

  mkdir test
  cd test
  git init
  touch README
  git add README
  git commit -m 'first commit'
  git remote add origin git@github.com:lzjun/test.git
  git push -u origin master

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

 

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

 

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

 

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

 

在push的时候可能会出现如下错误:
To git@github.com:lzjun/test.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'git@github.com: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 git@github.com:lzjun/importnewstat.git master
 

 

 

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

 

6、如果Fork别人的项目

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

 

 

git clone git@github.com:username/tools.git

 

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

 

 

git config --global i18n.commitencoding utf-8 
 

 

 

参考:http://help.github.com/fork-a-repo/,图片来源于该站点。

  • 大小: 86.6 KB
4
2
分享到:
评论
5 楼 hyj1254 2012-05-04  
建议先fork一下,再clone。这样可以pull request,让所有者接收你的更新。
4 楼 leaow567 2012-03-20  
写的不错,参考一下
3 楼 canghailan 2012-03-19  
直接用GUI不就ok了。
2 楼 lantian_123 2012-03-19  
mlc880926 写道
楼主大概把官网的HELP翻译了一下
中文资源的话有一个叫gotgithub的在线教程挺不错的,可以参考下

网上搜很多中文的不详细,索性自己把他详细地记录下
1 楼 mlc880926 2012-03-19  
楼主大概把官网的HELP翻译了一下
中文资源的话有一个叫gotgithub的在线教程挺不错的,可以参考下

相关推荐

Global site tag (gtag.js) - Google Analytics