什么是Git
Git是一个分布式版本控制/软件配置管理软件,原来是linux内核开发者林纳斯·托瓦兹(Linus Torvalds)为了更好地管理linux内核开发而创立的。需要注意的是和GNU Interactive Tools,一个类似Norton Commander界面的文件管理器有所不同。
Git最初的开发动力来自于BitKeeper和Monotone。Git最初只是作为一个可以被其他前端比如Cogito或StGIT包装的后端而开发的。不过,后来Git内核已经成熟到可以独立地用作版本控制。很多有名的软件都使用Git来进行版本控制,其中有Linux内核、X.Org服务器和OLPC内核开发。
open-ssh
Step1.安装open-ssh:
sudo apt-get install openssh-server openssh-client
Step2.生成RSA Key
生成的公钥(id_rsa.pub)和密钥(id_rsa)在~/.ssh/目录下
ssh-keygen -t rsa
git-core(git server)
Step1.安装git-core
sudo apt-get install git-core
Step2.添加git用户
sudo adduser git
Step3.创建版本库
su git mkdir /home/git/repositories chmod 775 /home/git/repositories
python-setuptools
Step1.安装
sudo apt-get install python-setuptools
gitosis
安装gitosis
cd ~ git clone https://github.com/res0nat0r/gitosis.git cd gitosis sudo python setup.py install sudo -H -u git gitosis-init < ~/.ssh/id_rsa.pub git clone git@localhost:gitosis-admin.git cd gitosis-admin vim gitosis.conf
lamp-server
安装lamp-server(linux下的apache,mysql,php软件套装,装好直接可用,非常方便)
sudo apt-get install lamp-server sudo vim /etc/apache2/sites-available/default
gitweb
安装gitweb,装好后,可以直接通过浏览器查看git相关信息.
sudo apt-get install gitweb cd /var/www sudo ln -s /usr/share/giweb/* . sudo vim /etc/gitweb.conf
======================= 使用git ========================
1.创建一个新项目
su git cd repositories/ git init --bare helloworld.git cd helloworld.git git remote add origin git@localhost:helloworld.git
2.clone 项目
git clone git@localhsot:hellowrold.git
3.新增/提交文件
cd helloworld touch helloworld.php git add helloworld.php git commit -am "add a new file helloworld.php" git push origin master
4.回退到某个版本xxversion
git reset --hard xxversion
5.放弃修改
git checkout -- xxxx.php (未add到暂存区时) git reset HEAD xxxx.php(已add到暂存区时)
6.创建分支
git branch dev
7.切换到新分支
git checkout dev
8.修改分支/提交分支
touch dev.php git add dev.php git commit -am "add a new file dev.php" git push origin dev
9.合并分支
Step1.切换到master分支
git branch master
Step2.合并dev分支的修改到master
git merge dev
10.删除分支
git branch -d dev