这两天我一直在折腾github,这里做一下记录(本文以Ubuntu10.04作为本地操作系统为例)。
配置github和本地git客户端
参考了这里。
- 在本地机器上安装git客户端
在ubuntu上运行以下命令:
1 | sudo apt-get install git-core # Ubuntu 10.04 and versions before, or |
创建github帐号,请访问github。
在本地机器上生成ssh key并在github中配置(这个步骤的目的是让github可以识别从你机器上发出的请求,如果你希望从多台机器都可以提交你的git请求,那么步骤1,3,4需要在每台机器上都操作一遍)
3.1. 使用以下命令生成本地ssh key(如果你本地的”~/ssh/“目录里已经有内容,请备份,下面的命令会重新生成该目录的内容):
1 | ssh-keygen -t rsa -C "your_email@youremail.com" |
运行完成后,你会得到这两个文件:”/.ssh/id_rsa”, “/.ssh/id_rsa.pub”。前者是ssh私钥,后者是ssh公钥。请不要把私钥告知任何其它人,而公钥信息需要告知github.com,github需要用它来认证你的git请求。
3.2. 用你的帐号登录github.com,进入“Account Admin -> SSH Public keys”,在“key field”中填入你的“~/.ssh/id_rsa.pub”文件的全部内容,保存。
此时你的git客户端请求应该可以通过github的认证了,运行以下命令验证:
1 | ssh -T git@github.com |
当返回“Hi username! You’ve successfully authenticated, but GitHub does not provide shell access.”信息时,表示认证成功。
- 配置你的本地git客户端信息
这样做主要有两个目的:1. 配置你的在本地git使用的user用户信息(user name & email),这样当push你的本地的git repo改动到github的时候,github可以方便地知道改动的作者是谁;2. 在本地配置你的github account API token,可以让一些不通过ssh连接github.com的工具使用该API token进行认证。具体步骤是运行以下命令:
1 | git config --global user.name "Firstname Lastname" # You'd better use the same information as used in the github.com registration. |
这样你的环境就配置好了。
在github上创建你的git repository
参考了这里。
登录github.com新建一个你自己的repository,很简单,你懂的。
如果你像我一样本地已经有了一个git repository,现在想把它放到github上,那么就执行以下的命令:
1 | cd your_local_git_repository |
这样就可以将你本地的git repository推到github.com上了。
如果当你执行”git push”命令时,遇到”You can’t push to git://github.com/user/repo.git \n Use git@github.com:user/repo.git”错误,请运行以下命令后再试试(本解决方法来自这里,感谢tualatrix)
1 | git remote rm origin |
—–EOF—–