Git内部的三种状态:已提交(committed),已修改(modified),已暂存(staged)
git help <verb> //git help branch:查看branch帮助信息,可以直接用git help
git <verb> --help //git branch --help:查看branch帮助信息,可以直接用git--help
man git-<verb> //mangit-add:查看add帮助信息,可以直接用man git
配置git(--global更改的配置文件就是位于你用户主目录下的那个)
git config --global user.name"usernmame" //必须配置项-用户名(邮箱前缀)
git config --global user.email"email" //必须配置项-电子邮件
git config --global core.e
git config --global core.editor vim //配置编辑工具为vim
git config --global color.ui auto //配置颜色自动
git config --global merge.tool vimdiff //配置差异分析工具
git config --list //查看配置信息
git config user.name //可以查看某个环境变量配置
git config --global alias.ck checkout //设置别名
git clone ssh://... -b branch_name //克隆代码
git remote //查看远程
git branch branch_name //创建分支
gitbranch -vv //可以查看依赖关系
git branch -a //查看本地分支和远程分支
git branch -d //删除合并的分支
git branch -D //删除分支,无论是否合并
git branch -m //移动或重命名分支
git branch -M //移动或重命名分支,即使目标存在
git branch -v //查看每个分支的最后一个commit
git branch --merged //查看哪些分支已被并入当前分支
git branch --no-merged //查看哪些分支未被并入当前分支
git branch --contain commit id //查找包含一个指定commit所在branch
git checkout -b branch_name //创建并切换分支
git checkout -b branch_n origin/ branch_n //建立一个remote分支的tracking分支
git checkout branch_name //切换分支
git checkout filename //恢复文件到修改前的状态,文件没有git add前
git checkout commit_id //回滚到特定commit
git checkout tag_a //回退到tag_a代表的点
git diff filename //检查修改但为commit的文档
git diff --cached //暂存文件和快照的差异
git diff HEAD //检查最新版本和原始文件的差别
git add filename //添加更新文件,文件状态变为staged
git add -a //可将所有被修改或被删除的文档状态提交到仓库
git status //查看状态
git status -u //查看untracked文件
git status -s //查看简要状态
git status -uno //-uno表示不显示没有tracked
git commit //提交修改
git commit -m "version update info" //提交修改
git commit -a //自动把所有跟踪的文件暂存起来一并提交
git commit --amend //重新提交刚才的操作(修改最后一次的提交)
git log //查看log信息
git log -p -2 //查看最近两次的更新,并显示修改情况
git log --stat //只显示简要的增改行数
git log --stat --summary //查看每次版本的大致变化情况
git log --pretty=oneline //将每个提交放在一行来显示(pretty=后跟要显示的格式)
git log --pretty=short
git log --pretty=full
git log --pretty=fuller
git log --pretty=format:'%h : %an : %ad :%s' --topo-order --graph --date=short //查看树形log
git log --name-only //仅在提交文件后显示已修改的文件清单
git log --name-status //显示新增、删除、修改文件清单
git log --since=2013-08-01 //显示8月1号后的提交
git log --committer=someone //查找指定committer所有的commit
git cherry-pick <commit id> //merge一个指定的commit
git fetch //获取数据更新,但不与本地合并
git pull //下载更新
git rebase branch_name //衍合分支
git push //上传更新
git reset --hard HEAD //暴力忽略一些修改过的中间文件
git stash //不commit,保留当前改动,回复到clean的HEAD
git stash pop //从缓冲区中恢复并删除缓冲区
git stash apply //从缓冲区中恢复,不删除缓冲区
git stash list //查看缓冲区列表
git stash apply stash@{0} //你可以选择特定的stash来apply
git stash drop //你可以drop掉你不顺眼的stash
git stash drop stash@{1} //drop指定的stash,比如stash 1
git remote show origin //查看远程仓库的信息
git remote rename .. .. //重命名远程仓库
git remote rm .. //删除远程仓库
git tag //列出所有标签
git tag -a v1.0 -m"messages" //创建含附注的标签
git tag v1.0 //创建轻量级标签
git tag -a v1.0 <commit-id> //为以前的commit添补标签
git tag -d //删除无意义的tag
git push origin v1.4 //分享标签
git push origin --tags //推送所有标签到远程服务器
git show --name-only commit_id //查找指定commit涉及到的所有文件
git show --name-status commit_id //显示指定commit涉及到的文件的增删改情况
git show commit_id //查看更新细节
git show --stat //查看最近一次提交中的修改情况
git show c2bce89 //查看版本更新细节时,可以只输入commitId前几位作为参数
git show HEAD //查看当前分支的最新版本最新更新细节
git show HEAD^ //查看HEAD 的父版本更新细节
git show HEAD^^ //查看HEAD 的祖父版本更新细节
git show HEAD~4 //查看HEAD 的祖父之祖父的版本更新细节
git rm filename //从git目录中删除其对某个文件的追踪并删除文件本身
git rm -f filename //删除暂存区中的文件
git rm --cached //将文件从git库中删除,不删除文件本身
git mv file_old file_new //修改文件名
git mv src_file dest_file //重命名或移动文件
git merge <some branch> 把另一条分支合并到当前分支参数:--no-commit合并但不提交
git reset HEAD <file> //取消暂存文件(gitadd后没有git commit的文件)
git checkout <file> //撤销文件的修改,
git clean -dxf 与 git reset --hard //删除所有编译产生的文件
git remote //查看当前远程库
git remote -v //查看当前远程库,并显示对应克隆地址