版本控制(Git):
0) 安装
$ apt-get install git-core
1) 配置
$ git config --global user.name "lizhong"
$ git config --global user.email "lz_0618@sina.com"
~/.gitconfig文件中的
[user]
name = lizhong
email = lz_0618@sina.com
$ git config user.name "lizhong"
$ git config user.email "lizhong@Techfaith.cn"
改变工程目录中文件.git/config
[user]
name = lizhong
email = lizhong@Techfaith.cn
2)创建一个Git Repository
a.从现有仓库克隆一个
$git clone git://git.kernel.org/pub/scm/git/git.git
git支持协议:ssh://, http(s)://, git:// 默认是ssh协议
b.直接初始化一个
$cd project_dir
$git init
3)工作流程
a.将改变(需要提交)的文件加入索引(index)
$ git add file1 file2 file3
b.查看改动的文件
$ git diff --cached (查看加入到Index中的改动文件)
$ git diff (查看改动过的文件)
c.查看状态
$ git status
d.提交
$ git commit
$ git commit -a (自动将改动的(非新建的)文件提交)
4)分支和合并
a.创建分支
$ git branch experimental (experimental为分支名)
b.显示分支
$ git branch
experimental
* master
其中:master为自动创建的分支,*表示当前工作的分支
c.切换工作分支
$ git checkout experimental
$ git checkout master (切换回主分支)
d.合并改变到主分支
$ git merge experimental
当合并冲突时,合并将失败
$ git diff (显示冲突信息)
修改冲突文件后,使用
$ git commit -a 完成合并
e.删除分支
$ git branch -d experimental
$ git branch -D a1 (强制删除分支,没有合并的改动将丢失)
f.取消合并
这两个命令不知如何用,似乎不起作用(难道是合并出错时使用?)
$ git reset --hard HEAD
$ git reset --hard ORIG_HEAD
g.比较两个分支的区别
$git diff master..test
f.显示工作区修改信息
$ git diff (显示未加入到索引的文件的修改)
$ git diff --cached (显示已加入到索引的文件的修改)
$ git diff HEAD (显示工作区所有文件的修改)
$ git diff HEAD -- ./lib