git 格式:
git [--version] [--exec-path[=<path>]] [--html-path] [--info-path]
[-p|--paginate|--no-pager] [--no-replace-objects] [-bare]
[--git-dir=<path>] [--work-tree=<path>][--namespace=<name>]
<command> [<args>]
最常用的git命令解说如下:
add
说明:git add <path> 添加文件内容到索引库,文件内容包括新添或修改(不包括已删除)的文件,并把它们的信息添加到索引库中。注:省略<path>,说明是当前目录;
Description:
git add -u [<path>] #把<path>中所有tracked文件中被修改过或已删除文件的信息添加到索引库。它不会处理untracted的文件。
git add -A: [<path>] #把<path>中所有tracked文件中被修改过或已删除文件和所有untracted的文件信息添加到索引库。
git add -i [<path>] #查看<path>中被所有修改过或已删除文件但没有提交的文件,过其revert子命令可以查看<path>中所有untracted的文件,同时进入一个子命令系统。
详情查看:http://blog.csdn.net/joe_007/article/details/7889173
bisect
说明:Find by binary search the change that introduced a bug,大意是说通过二分查找的方式快速定位引入Bug的版本;
Eg:git bisect <subcommand> <options>
git bisect help git bisect start [--no-checkout] [<bad> [<good>...]] [--] [<paths>...] git bisect bad [<rev>] git bisect good [<rev>...] git bisect skip [(<rev>|<range>)...] git bisect reset [<commit>] git bisect visualize git bisect replay <logfile> git bisect log git bisect run <cmd>...
详情可参考以下文章
https://www.kernel.org/pub/software/scm/git/docs/git-bisect.html
http://crazycode.iteye.com/blog/311564
http://git-scm.com/docs/git-bisect
branch
说明:List,Create,or delete branches ;
Eg:
git branch #查看当前分支的状态
checkout
说明:Checkout a branch or paths to the working tree ;
Eg1:
检出命令git checkout是git最常用的命令之一,同时也是一个很危险的命令,因为这条命令会重写工作区。检出命令的用法如下:
用法一:git checkout [-q] [<commit>] [--] <paths>...
用法二:git checkout [<branch>]
用法三:git checkout [-m] [[-b]--orphan] <new_branch>] [<start_point>]
Eg2:
正确切换分支的思路
如果本地分支存在问题,需要删除,有两种方式
第一种:git branch -d <branch_name> # 删除分支,如果还存在未提交的代码,可能会删除失败
第二种:git branch -D <branch_name> # 强制删除本地分支
切换分支的两种场景:
第一种:git checkout <branch_name> # 切换到本地已经存在的分支上去
第二种:git checkout -b <branch_name> # 切换到指定分支上,如果该分支不存,则基于当前分支,创建新分支
第三种:git checkout -b <new_branch_name> <origin_branch_name> # 基于分支<origin_branch_name>创建新的本地分支,并切换到该分支上;
eg: git checkout -b develop origin/develop # 基于远程分支“origin/develop“,创建本地新分支“develop”
详情参考:http://www.cnblogs.com/craftor/archive/2012/11/04/2754147.html
clone:
说明:Clone a repository into a new directory ;
详细参考:http://blog.csdn.net/hudashi/article/details/7664396
commit:
说明:Record changes to the repository;
使用实例:
diff:
说明:Show changes between commits , commit and working tree,etc;
使用实例:
fetch:
说明:Download objects and refs from another repository ;
使用实例:
grep:
说明:print lines matcing a pattern ;
Eg:
详情参考:http://git-scm.com/docs/git-grep
init:
说明:Create an ampty git repository or reinitialize an existing one ;
log:
说明:Show commit logs ;
merge:
说明:Join two or more development historise together ;
Eg:
mv:
说明:Move or rename a file , a directory, or a symlink ;
使用实例:
pull:
说明:Fetch from and merge with another repository or a local branch ;
Eg:
push:
说明:Update remote refs along with associated objects ;
Eg:
rebase:
说明:Forward-port local commits to the updated upstream head ;
使用实例:
reset:
说明:Reset current HEAD to the specified stated ;
rm:
说明:Remove files from the working tree and from the index ;
show:
说明:Show various types of objects ;
status:
说明:Show the working types of objects ;
tag:
说明:Create,list,delete or verify a tag object signed with GPG;
以上使用详情,可参考官方文档:http://git-scm.com/docs/