1.安装Git
Windows
http: //msysgit .github.io/ |
Linux
1.$
apt-get install git 2.$
yum install git-core |
Mac
http: //sourceforge .net /projects/git-osx-installer/files/ |
2.配置Git
1
2
3
4
5
6
|
#
检查已有配置信息 $
git config --list #
配置信息设置 $
git config --global user.name "Your
Name" $
git config --global user.email "email@example.com" $
git config --global color.ui "always" |
3.文件版本操作
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
$
git init #
初始化,创建一个.git文件 #
添加 $
git add somefile.txt #
添加单个文件到本地版本库 $
git add *.txt #
添加所有的txt文件到本地版本库 $
git add . #
添加所有的子目录(不包含空目录)到本地版本库 #
提交 $
git commit -m "msg" somefile.txt #
提交 单个文件 $
git commit -m "msg" -a #
提交 所有修改文件 $
git commit -C head -a
-amend #
增补提交,不会产生新的提交历史 #
撤销未提交的文件 $
git checkout head a.txt
b.txt #
撤销单个文件 $
git checkout head *.txt #
撤销所有txt文件 $
git checkout head . #
撤销所有文件 #
撤销已提交的文件 $
git revert --no-commit head <filename> #
撤销最近一次的提交 |
4.版本分支
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
$
git branch #
列出本地分支 $
git branch -a #
列出本地所有分支 $
git checkout <branchName> #
签出分支 $
git branch <branchName> #
基于当前分支创建新的分支 $
git checkout -b <branchName> #
基于当前分支创建新的分支并签出 $
git branch -m <branchName> <newName> #
不会覆盖已存在的同名分支 $
git branch -M <branchName> <newName> #
会覆盖已存在的同名分支 $
git branch -d <newName> #
如果分支未合并会删除失败 $
git branch -D <newName> #
强制删除分支 $
git branch -r -d origin/<branchName> #删除远程分支1 $
git push origin :<branchName> #删除远程分支2 $
git branch -r #
列出所有远程库分支 $
git remote prune origin #
删除远程库不存在的分支 $
git merge –no–ff <branchName> #
快速合并分支 |
5.标签
1
2
3
4
5
6
7
8
9
|
$
git tag #
显示所有标签列表 $
git tag <tagName> #
当前最后一次提交后的分支上创建标签 $
git tag <tagName> <branchName> #
为特定分支最后一次提交后的状态创建标签 $
git tag <tagName> <version> #
为历史版本提交创建标签 $
git checkout <tagName> #
签出标签(快速查看基于某个标签下的断面,但不能提交) $
git tag -d <tagName> #
删除标签 |
6.远程Remote
1
2
3
4
5
6
7
8
9
10
11
|
$ ssh -keygen
-t rsa -C "youremail@example.com" #cat
~/.ssh/id_rsa.pub 上传公钥 $
git clone <URL> #克隆版本库 $
git remote add <origin> <URL> #添加远程版本库origin $
git remote rm <origin> #删除远程版本库origin $
git fetch <origin> #获取但不合并 $
git pull = git pull <origin> #获取并合并到本地分支 $
git push <origin> master #推送远程库origin
第一次加上 -u |
7.其他
1
2
3
4
5
6
|
$
git status #当前状态 $
git log #历史日志 /.gitignore #忽略特殊文件,添加到版库中,也支持版本管理 #简化命令行配置 $
git config --global alias .st
status #输入git
st = git status; 其他命令同理 |