在项目开发中使用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 [email protected]

#忽略某些文件
在工作目录下创建并编辑.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

你可能感兴趣的:(git)