git status -s #标记式描述当前文件状态
git add . #当前目录所有改动文件和未跟踪文件添加到下一次提交中
git add <path> #添加制定文件或目录到下一次提交中
git commit -m 'message' #提交暂存目录中的修改快照
git commit -a #提交工作区的所有改动文件和暂存区的修改快照
git diff <path> #比较工作区和暂存区
git diff [commit] <path> #比较工作区和commit
git diff --cached <path> #比较暂存区和HEAD
git diff [commit1] [commit2] <path> #比较本地仓库commit1和commit2
git log [-p|--stat|--graph] #-p 版本之间的差异,--stat 差异概览,--graph ASCII图形化显示
git log --pretty=oneline #单行显示每个commit日志
git log --decorate #查看各分支指向的commit
git log <branch1>..<branch2> #查看branch2中还有哪些提交没有被合并入branch1
git log --left-right <branch1>...<branch2> #查看两个branch的差异提交
git show <commit> #显示某个提交的信息
git rm <path> #从仓库中移除文件,并且把工作区的文件也一并移除
git rm -f <path> #当要移除的文件也在暂存区有快照时进行强制移除
git rm --cached <path> #从仓库中移除文件,但是保留工作区的文件,其中path可以使用glob模式,且要注意使用\来转义特殊字符防止shell的展开
git mv <file> <newfile> #文件改名
git reset [--soft|--hard] <commit> #HEAD以及当前分支标记一起移动到指定commit(之前commit有被丢弃的可能)
#默认更新暂存区,用hard则工作区和暂存区都更新,用soft则工作区和暂存区都保留不动
git reset <commit> -- <path> #只会更新暂存区快照去匹配commit(HEAD和当前分支标记都不动)
git checkout <commit> -- <path> #同时更新暂存区和工作区去匹配commit(HEAD不动),没有commit则以暂存区内容去更新工作区
git checkout <commit> #移动HEAD到该commit,并且更新工作区和暂存区的内容以匹配commit
git checkout [HEAD] #汇总显示工作区、暂存区与HEAD的差异
git checkout . #以暂存区快照更新工作区
git checkout -b <branch> #创建并切换到分支
git checkout -b <branch> <remote>/<branch> #创建一个本地的跟踪分支并切换到该分支
git checkout --track <remote>/<branch> #创建一个本地跟踪分支并切换过去,分支名字和远程分支名字一样
git revert <commit> #撤销某个commit的改动(只撤销该commit的改动),然后做一次新的提交
git revert -m 1 <commit> #撤销某个merge commit,-m表示要回退的主线,值为1一般代表当前分支为主线
git merge <branch> #把branch分支合并到当前分支上来
git mergetool #有冲突时选择相应的可视化工具来解决冲突
git rebase <branch> #变基:以指定分支为基底,然后把当前分支的差异commit重新一个个提交上去,梳理分支提交历史
git branch [-d] <branch> #创建分支;-d删除分支;
git branch [--merged|--no-merged] <branch> #过滤出合并或未合并到
git branch -u <remote>/<branch> #设置或修改当前分支的上游分支,设置好后@{u}代指对应的上游分支<remote>/<branch>
git remote -v #已经配置了的远程仓库
git ls-remote <repo> #列出远程仓库的完整引用列表
git remote show <repo> #远程仓库的详细信息
git remote add <repo> <url> #添加远程仓库,以后就直接用<repo>代替url
git fetch 【<repo>|--all] #拉取指定的或所有的远程仓库,获取所有分支,之后就可以用<repo>/<branch>来访问对应分支了
git pull <repo> <branch> #抓取对应远程分支然后合并到当前所在分支
git pull --rebase #相当于先git fetch在git rebase
git push <repo> <refspec> #推送refspec指定的src分支到远程repo到dst分支(一般远程和本地分支名字匹配的话,给改名即可)
git push <repo> [<tag> | --tags] #推送单个<tag>或全部不在远程服务器上的标签(--tags)到repo
git push <repo> --delete <branch> #删除远程仓库的指定分支
【Git】常用git命令列举与简单注释
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 昨天下班前,前端组大哥把我拉进项目。当时大哥在我电脑上敲了一些命令(我发现有一些命令我没见过),同时问我有没有用过...
- 一.首先是git的简单介绍(来源git百度百科) git全称是分布式版本控制系统,可以有效、高速的处理从很小到非常...