github是一个基于git的代码托管平台,付费用户可以建私人仓库,我们一般的免费用户只能使用公共仓库,也就是代码要公开。
记得很久之前在windows下用过,但是github网站老是上不去,现在又准备开始用,这个简单的东西倒是花了我不少时间,还是记录一下。
参考:http://git-scm.com/book/zh/
https://help.github.com/articles/set-up-git
https://help.github.com/categories/56/articles
(1)注册
https://github.com
(2)安装客户端
系统为:centos6.5
yum install git
(3)配置
安装git后,在根目录~下有一个文件夹,~/.ssh
cd ~/.sshssh-keygen -t rsa -C "emailaddress"
(emailaddree此入添写你自己的邮箱地址)
一路按[enter]键
生成了
.ssh/id_rsa.pub
为key,进入github账户,Account Settings,左边选择SSH Keys,Add SSH Key,title随便填,粘贴key。
注意此处不能用vim来粘贴,每次都提示出错invalid key,采用其他的编辑器,我采用了emacs
验证是否成功:
ssh-T git@github.com
如果是第一次的会提示是否continue,输入yes就会看到:You’ve successfully authenticated, but GitHub does not provide shell access 。这就表示已成功连上github。
接下来我们要做的就是把本地仓库传到github上去,在此之前还需要设置username和email,因为github每次commit都会记录他们。
git config --global user.name "your name"git config --global user.email "your_email@youremail.com"
(4)同步(上传)文件
新建一个文件夹假如为某个路径下的github
mkdir githubcd githubgit initgit remote add origin https://github.com/NannanZhang/VideoRetrieve.gitgit add file //添加文件git commit -m "first commit" //提交git push -u origin master
此时出错:
error: The requested URL returned error: 403 Forbidden while accessing https://github.com/NannanZhang/VideoRetrieve.git/info/refs
fatal: HTTP request failed
fatal: The remote end hung up unexpectedly
采用http://www.cnblogs.com/hanxiangduo/archive/2012/09/03/github.html中的方法,修改为ssh方式:
git remote set-url origin ssh://git@github.com/NannanZhang/VideoRetrieve.git
注意后半部分,如果直接从github repository 下面拷贝时为git@github.com:NannanZhang/VideoRetrieve.git,需要将中间的冒号换为/,即
git@github.com/NannanZhang/VideoRetrieve.git
如果写成:时git会有错,Permission denied (publickey). fatal: The remote end hung up unexpectedly
(我是在这卡了,现在终于找到原因了。还以我是天朝把sdn给改了,不过确实ip地址变为了,网上帮助文档中IP地址为207.97.227.239,端口号为22,而我的为debug1: Connecting to github.com [192.30.252.131] port 22.开始是HTTPS下,后面变为SSH时,SSH时是这样是对的)
此时push就成功了,就是ssh下传的太慢了,据说https://下要快一些。
另外:如果想要重新git init时,将路径下的.git文件删除,再进行,注意为隐藏文件,ls -al才可以查看, rm -rf .git