一、概念
Git,是一个分布式的源代码管理工具,不必服务器端软件支持,使源代码的发布和交流极其方便的一种工具。
二、安装
1、linux下安装
$ sudo apt-get install git-core git-gui git-doc
附上详细安装地址 http://help.github.com/linux-set-up-git/ (包含github结合步骤)
2、windows安装
详细安装地址 http://help.github.com/win-set-up-git/ (包含github结合步骤)
三、使用
由于git是一个分布式的管理工具所以没有服务器管理中心之说,不过也可以概念出一个“中心”,本人习惯linux下开发所以先放上linux的开发步骤,windows的步骤以后在补上。
1、 多人协作开发步骤:
首先:需要一台服务器(192.168.0.11)并在服务器上创建一个名为‘git‘的用户和一个.ssh的目录
$ sudo adduser git
$ su git
$ cd
$ mkdir .ssh
其次 :把开发者的 SSH 公钥添加到这个用户的 authorized_keys
文件中。假设你通过电邮收到了几个公钥并存到了临时文件里。重复一下,公钥大致看起来是这个样子:
$ cat /tmp/id_rsa.gittest1.pub
写道
ojG6rs6hPB09j9R/T17/x4lhJA0F3FR1rP6kYBRsWj2aThGw6HXLm9/5zytK6Ztg3RPKK+4k
Yjh6541NYsnEAZuXz0jTTyAUfrtU3Z5E003C4oxOj6H0rfIF1kKI9MAQLMdpGW1GYEIgS9Ez
Sdfd8AcCIicTDWbqLAcU4UpkaX8KyGlLwsNuuGztobF8m72ALC/nLF6JLtPofwFBlgc+myiv
O7TCUSBdLQlgMVOFq1I2uPWQOkOWQAHukEOmfjy2jctxSDBQ220ymjaNsHT4kgtZg2AYYgPq
dAv8JggJICUvax2T9va5 gittest1
吧他们逐个追加到 authorized_keys
文件尾部即可:
$ cat /tmp/id_rsa.gittest1.pub >> ~/.ssh/authorized_keys
$ cat /tmp/id_rsa.gittest2.pub >> ~/.ssh/authorized_keys
$ cat /tmp/id_rsa.gittest3.pub >> ~/.ssh/authorized_keys
然后 : 可以使用 --bare选项运行 git init来建立一个裸仓库,这会初始化一个不包含工作目录的仓库。
$ mkdir -p git/project.git
$ cd git/project.git
$ git --bare init
再次:这时,gittest1,gittest2 或者 gittest3 就可以把它加为远程仓库,推送一个分支,从而把第一个版本的项目文件上传到仓库里了。
写道
$ cd myproject
$ git init
$ git add .
$ git commit -m 'initial commit'
$ git remote add origin git@192.168.0.11:git/project.git
$ git push origin master
最后:其他开发者就可以克隆和推送代码了。
写道
$ git clone git@192.168.0.11:git/project.git
$ vim README
$ git commit -am 'fix for the README file'
$ git push origin master
用这个方法可以很快捷地为多个开发者架设一个可读写的 Git 服务。
2、git常用基本命令
a、git clone
$ git clone git@192.168.0.11:git/project.git local_project
b、git init和git remote(本地或者远程添加时用)
$ git init 或者 git remote add master
c、git pull 将代码更新到本地
$ git pull origin master
d、git add 将当前更改或者新增的文件加入到Git的索引中
$ git add app/model/user.php
e、git rm:从当前的工作空间中和索引中删除文件
$ git rm app/model/user.php
f、git commit:提交当前工作空间的修改内容
$ git commit -m "story" #提交的时候必须用-m来输入一条提交信息
g、git push:将本地commit的代码更新到远程版本库中
$ git push origin master
3、结合eclipse
以前有个结合github的实例写的比较详细可以参考下:http://gemantic.iteye.com/blog/1211527
4、 结合hudson
a、需要给hudson安装git插件。
b、插件安装完之后需要给hudson的服务用户生成密钥,添加到git的authorized_keys
文件中
c、添加完密钥之后在创建项目的时候会看到
d、然后自己再写biulid脚本就可以了