红联Linux门户
Linux帮助

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

发布时间:2014-07-26 09:59:26来源:linux网站作者:zyz511919766

安装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