在项目开发中使用Git版本号控制工具以提高效率

安装Git(linux centos平台)

源代码方式安装

1.装依赖

$ yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel

2.下源代码并编译安装

地址:

http://git-scm.com/download

编译安装:

$ tar -zxf git-1.7.2.2.tar.gz
$ cd git-1.7.2.2
$ make
$ sudo make  install


二进制包安装

$ yum install git-core


使用Git

#建立自己的工作文件夹
sudo mkdir /var/www/site/mycitsm_zyz
cd /var/www/site/mycitsm_zyz

#从代码仓库clone代码
sudo Gitclone ssh://username@ip:port/path/to/example.git  /path/to/workdir

#克隆代码到自己的工作文件夹后先设置用信息以便于识别更新来源
$ git config user.name "username"
$ git config user.email username@example.com

#忽略某些文件
在工作文件夹下创建并编辑.gitignore文件,写入想忽略的内容
例子:
$ cat .gitignore
*.pyc
*.pyo
test_*
*.bak


之后便能够在自己的工作文件夹中编辑并提交代码。

一般工作流程
#更新代码
$vim /path/to/file

#查看文件状态
$git status

#暂存更新
$git add /path/to/file

#本地提交更新
$git commit -m "说明信息"
或通过
$git commit -v 编写更具体的提交说明并将具体的更新内容记录在内。



#推送本地更新到远程仓库
$git push origin master(origin为假定的远程仓库名。master是默认分支)

#从远程仓库拉取新内容
$git pull origin

#获取帮助
$git help

#新建分支
$git branch branchname

#切换分支
$git checkout branchname

#上述两步可合并为一步
$git checkout -b branchname

#合并分支

先切回主分支$git checkout master
再合并分支到主分支$git merge branchname

#查看分支
$git branch

#仅查看未合并分支
$git branch --no-merged

#仅查看已合并分支
$git branch --merged

#删除分支(已合并)
$git branch -d branchname

#删除分支(不管是否已合并)
$git branch -D branchname

#查看未暂存文件的与改动前的差异

$git diff

#查看已暂存文件与上次提交时快照之间的差异
$git diff --cached

#移除文件
$git rm /path/to/file

#仅从跟踪清单删除不从工作文件夹删除
$git rm --cached /path/to/file

#移动文件
$ git mv file_from file_to

#查看提交历史
$ git log

#改动最后一次提交
$ git commit --amend

#取消已暂存文件
$ git reset HEAD /path/to/file

#取消对文件对的改动
$git checkout -- /path/to/file

#回退
$git reset--mixed HEAD~N
$git reset--soft HEAD~N
$git reset--hard HEAD~N
当中N表示近期的N次提交。这里也能够是某次提交后返回的版本号唯一标识(可通过$git log获取到)
--mixed保留修改,回退commit和index
--soft保留修改。回退commit。不回退index
--hard彻底回退到某个版本号

#查看当前远程库
$git remote -v

#从远程库拉取更新
$git fetch origin

#合并拉取的更新的分支到本地分支
$git merge origin/master

以上两步可合并为一步
$git pull origin