经常听说Git是个很好用的版本控制工具,但是一直没用过。
现在要解决一个很头疼的问题,就是要把我本地(window操作系统)代码放到6个linux服务器上去跑,因为代码要在本地调试,经常变动,以前总是一个一个上传(够笨拙的办法),这样做一来很麻烦,二来很容易出现混乱,所以必须想一个好办法管理代码。
当然了,最好的办法是把6台独立的服务器搭建成一个分布式运算平台,但是现在时间很紧张,来不及了,只好先选择一个简单点的办法,先把这次实验跑完再说。就先用Git吧~
Step 1: 在window上安装msysgit
msysgit是一个在windows上使用git的软件(下载地址http://code.google.com/p/msysgit/)。安装很简单,下一步就可以了。
git可以通过很多的协议进行网络通信,其中有三个最主要的协议,分别是ssh,http,git。其中,要使用ssh协议,必须先拥有个密钥对。可以进入刚才安装完成的git bash,输入命令
ssh-keygen -t rsa -C "xxx@gmail.com",
生成ssh key,用来建立与github的ssh连接。注意在生成过程中有个选项要选择key保存路径,这个最好保持默认路径,自定义路径可能会出问题。还有一个要输入passphase,这个保持空,直接两次回车就可以了。
Step2: 在github上申请个账号
准备将代码托管在github上所以先申请个免费的账号https://github.com/,免费的就够用了。在申请的过程中,貌似有个要输入ssh key的可选过程,输入step1中生成的key中的后缀名为.pub里的内容,这个就是ssh中的公钥,要告诉gibhub站点。如果在申请过程中没有输入public key,也可以在账户管理中输入。如果不使用ssh方式,也没有必要输入。
申请完了github账号,就建立一个github仓库。
Step3:将已经有的项目导入github仓库中:
github仓库建好之后,就开始建立本地仓库与远程仓库的连接。点击进入git bash,输入ssh -T git@github.com,这是采用ssh方式连接。如果连接成功就会显示一个
ERROR: Hi xxx! You've successfully authenticated, but GitHub does not provide shell access
Connection to github.com closed.
类似的命令,这个error不要紧的。
然后进行一下配置:
git config --global user.name "xxx"
git config --global user.email xxx@gmail.com
然后,进入想要成为仓库的文件夹(一个更快的方式是直接在此文件夹上右键点git bash),或者新建一个文件夹。进入之后,初始化,输入git init命令(这个也可以通过右键完成)。
如果想把里面的内容传到github仓库的话输入:
git -add .
git commit -m 'initial commit'
git push origin master
就Ok了。上面的origin是你的远程github仓库的别名,这样设置: git add remote git@github.com:xx/xx.git
这样初始化的工作就完成了。
Step4: 去linux服务器上
把上面的过程再在linux下操作一遍,命令差不多是一样的,因为git本来就是在linux上起源的,window上的命令也是linux上操作的沿袭而已。
然后clone一下,就可以了。
git clone git@gibhub.com:xx/xx.git