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