<p ><strong>一、 Git 常用命令速查</strong></p><p >git branch 查看本地所有分支<br/>git status 查看当前状态<br/>git commit 提交<br/>git branch -a 查看所有的分支<br/>git branch -r 查看远程所有分支<br/>git commit -am "init" 提交并且加注释<br/>git remote add origin git@192.168.1.119:ndshow<br/>git push origin master 将文件给推到服务器上<br/>git remote show origin 显示远程库origin里的资源<br/>git push origin master:develop<br/>git push origin master:hb-dev 将本地库与服务器上的库进行关联<br/>git checkout --track origin/dev 切换到远程dev分支<br/>git branch -D master develop 删除本地库develop<br/>git checkout -b dev 建立一个新的本地分支dev<br/>git merge origin/dev 将分支dev与当前分支进行合并<br/>git checkout dev 切换到本地dev分支<br/>git remote show 查看远程库<br/>git add .<br/>git rm 文件名(包括路径) 从git中删除指定文件<br/>git clone git://github.com/schacon/grit.git 从服务器上将代码给拉下来<br/>git config --list 看所有用户<br/>git ls-files 看已经被提交的<br/>git rm [file name] 删除一个文件<br/>git commit -a 提交当前repos的所有的改变<br/>git add [file name] 添加一个文件到git index<br/>git commit -v 当你用-v参数的时候可以看commit的差异<br/>git commit -m "This is the message describing the commit" 添加commit信息<br/>git commit -a -a是代表add,把所有的change加到git index里然后再commit<br/>git commit -a -v 一般提交命令<br/>git log 看你commit的日志<br/>git diff 查看尚未暂存的更新<br/>git rm a.a 移除文件(从暂存区和工作区中删除)<br/>git rm --cached a.a 移除文件(只从暂存区中删除)<br/>git commit -m "remove" 移除文件(从Git中删除)<br/>git rm -f a.a 强行移除修改后文件(从暂存区和工作区中删除)<br/>git diff --cached 或 $ git diff --staged 查看尚未提交的更新<br/>git stash push 将文件给push到一个临时空间中<br/>git stash pop 将文件从临时空间pop下来<br/>---------------------------------------------------------<br/>git remote add origin git@github.com:username/Hello-World.git<br/>git push origin master 将本地项目给提交到服务器中<br/>-----------------------------------------------------------<br/>git pull 本地与服务器端同步<br/>-----------------------------------------------------------------<br/>git push (远程仓库名) (分支名) 将本地分支推送到服务器上去。<br/>git push origin serverfix:awesomebranch<br/>------------------------------------------------------------------<br/>git fetch 相当于是从远程获取最新版本到本地,不会自动merge<br/>git commit -a -m "log_message" (-a是提交所有改动,-m是加入log信息) 本地修改同步至服务器端 :<br/>git branch branch_0.1 master 从主分支master创建branch_0.1分支<br/>git branch -m branch_0.1 branch_1.0 将branch_0.1重命名为branch_1.0<br/>git checkout branch_1.0/master 切换到branch_1.0/master分支<br/>du -hs</p><p >git branch 删除远程branch<br/>git push origin :branch_remote_name<br/>git branch -r -d branch_remote_name<br/>-----------------------------------------------------------</p><p >初始化版本库,并提交到远程服务器端<br/>mkdir WebApp<br/>cd WebApp<br/>git init 本地初始化<br/>touch README<br/>git add README 添加文件<br/>git commit -m 'first commit'<br/>git remote add origin git@github.com:daixu/WebApp.git</p><p >增加一个远程服务器端</p><p >上面的命令会增加URL地址为'git@github.com:daixu/WebApp.git',名称为origin的远程服务器库,以后提交代码的时候只需要使用 origin别名即可</p><p ><strong>二、 Git 命令速查表</strong></p><p >1、常用的Git命令</p><p ><br/></p><table class="jbborder"><thead><tr class="firstRow"><td width="200" ><p ><strong><span >命令</span></strong></p></td><td ><p ><strong><span >简要说明</span></strong></p></td></tr></thead><tbody><tr><td ><p ><span >git add</span></p></td><td ><p ><span >添加至暂存区</span></p></td></tr><tr><td ><p ><span >git add–interactive</span></p></td><td ><p ><span >交互式添加</span></p></td></tr><tr><td ><p ><span >git apply</span></p></td><td ><p ><span >应用补丁</span></p></td></tr><tr><td ><p ><span >git am</span></p></td><td ><p ><span >应用邮件格式补丁</span></p></td></tr><tr><td ><p ><span >git annotate</span></p></td><td ><p ><span >同义词,等同于 git blame</span></p></td></tr><tr><td ><p ><span >git archive</span></p></td><td ><p ><span >文件归档打包</span></p></td></tr><tr><td ><p ><span >git bisect</span></p></td><td ><p ><span >二分查找</span></p></td></tr><tr><td ><p ><span >git blame</span></p></td><td ><p ><span >文件逐行追溯</span></p></td></tr><tr><td ><p ><span >git branch</span></p></td><td ><p ><span >分支管理</span></p></td></tr><tr><td ><p ><span >git cat-file</span></p></td><td ><p ><span >版本库对象研究工具</span></p></td></tr><tr><td ><p ><span >git checkout</span></p></td><td ><p ><span >检出到工作区、切换或创建分支</span></p></td></tr><tr><td ><p ><span >git cherry-pick</span></p></td><td ><p ><span >提交拣选</span></p></td></tr><tr><td ><p ><span >git citool</span></p></td><td ><p ><span >图形化提交,相当于 git gui</span>命令</p></td></tr><tr><td ><p ><span >git clean</span></p></td><td ><p ><span >清除工作区未跟踪文件</span></p></td></tr><tr><td ><p ><span >git clone</span></p></td><td ><p ><span >克隆版本库</span></p></td></tr><tr><td ><p ><span >git commit</span></p></td><td ><p ><span >提交</span></p></td></tr><tr><td ><p ><span >git config</span></p></td><td ><p ><span >查询和修改配置</span></p></td></tr><tr><td ><p ><span >git describe</span></p></td><td ><p ><span >通过里程碑直观地显示提交ID</span></p></td></tr><tr><td ><p ><span >git diff</span></p></td><td ><p ><span >差异比较</span></p></td></tr><tr><td ><p ><span >git difftool</span></p></td><td ><p ><span >调用图形化差异比较工具</span></p></td></tr><tr><td ><p ><span >git fetch</span></p></td><td ><p ><span >获取远程版本库的提交</span></p></td></tr><tr><td ><p ><span >git format-patch</span></p></td><td ><p ><span >创建邮件格式的补丁文件。参见 git am</span>命令</p></td></tr><tr><td ><p ><span >git grep</span></p></td><td ><p ><span >文件内容搜索定位工具</span></p></td></tr><tr><td ><p ><span >git gui</span></p></td><td ><p ><span >基于Tcl/Tk</span>的图形化工具,侧重提交等操作</p></td></tr><tr><td ><p ><span >git help</span></p></td><td ><p ><span >帮助</span></p></td></tr><tr><td ><p ><span >git init</span></p></td><td ><p ><span >版本库初始化</span></p></td></tr><tr><td ><p ><span >git init-db*</span></p></td><td ><p ><span >同义词,等同于 git init</span></p></td></tr><tr><td ><p ><span >git log</span></p></td><td ><p ><span >显示提交日志</span></p></td></tr><tr><td ><p ><span >git merge</span></p></td><td ><p ><span >分支合并</span></p></td></tr><tr><td ><p ><span >git mergetool</span></p></td><td ><p ><span >图形化冲突解决</span></p></td></tr><tr><td ><p ><span >git mv</span></p></td><td ><p ><span >重命名</span></p></td></tr><tr><td ><p ><span >git pull</span></p></td><td ><p ><span >拉回远程版本库的提交</span></p></td></tr><tr><td ><p ><span >git push</span></p></td><td ><p ><span >推送至远程版本库</span></p></td></tr><tr><td ><p ><span >git rebase</span></p></td><td ><p ><span >分支变基</span></p></td></tr><tr><td ><p ><span >git rebase–interactive</span></p></td><td ><p ><span >交互式分支变基</span></p></td></tr><tr><td ><p ><span >git reflog</span></p></td><td ><p ><span >分支等引用变更记录管理</span></p></td></tr><tr><td ><p ><span >git remote</span></p></td><td ><p ><span >远程版本库管理</span></p></td></tr><tr><td ><p ><span >git repo-config*</span></p></td><td ><p ><span >同义词,等同于 git config</span></p></td></tr><tr><td ><p ><span >git reset</span></p></td><td ><p ><span >重置改变分支“</span>游标”指向</p></td></tr><tr><td ><p ><span >git rev-parse</span></p></td><td ><p ><span >将各种引用表示法转换为哈希值等</span></p></td></tr><tr><td ><p ><span >git revert</span></p></td><td ><p ><span >反转提交</span></p></td></tr><tr><td ><p ><span >git rm</span></p></td><td ><p ><span >删除文件</span></p></td></tr><tr><td ><p ><span >git show</span></p></td><td ><p ><span >显示各种类型的对象</span></p></td></tr><tr><td ><p ><span >git stage*</span></p></td><td ><p ><span >同义词,等同于 git add</span></p></td></tr><tr><td ><p ><span >git stash</span></p></td><td ><p ><span >保存和恢复进度</span></p></td></tr><tr><td ><p ><span >git status</span></p></td><td ><p ><span >显示工作区文件状态</span></p></td></tr><tr><td ><p ><span >git tag</span></p></td><td ><p ><span >里程碑管理</span></p></td></tr></tbody></table><p ><br/></p><p >2、对象库操作相关命令</p><p ><br/></p><table class="jbborder"><thead><tr class="firstRow"><td width="200" ><p ><strong><span >命令</span></strong></p></td><td ><p ><strong><span >简要说明</span></strong></p></td></tr></thead><tbody><tr><td ><p ><span >git commit-tree</span></p></td><td ><p ><span >从树对象创建提交</span></p></td></tr><tr><td ><p ><span >git hash-object</span></p></td><td ><p ><span >从标准输入或文件计算哈希值或创建对象</span></p></td></tr><tr><td ><p ><span >git ls-files</span></p></td><td ><p ><span >显示工作区和暂存区文件</span></p></td></tr><tr><td ><p ><span >git ls-tree</span></p></td><td ><p ><span >显示树对象包含的文件</span></p></td></tr><tr><td ><p ><span >git mktag</span></p></td><td ><p ><span >读取标准输入创建一个里程碑对象</span></p></td></tr><tr><td ><p ><span >git mktree</span></p></td><td ><p ><span >读取标准输入创建一个树对象</span></p></td></tr><tr><td ><p ><span >git read-tree</span></p></td><td ><p ><span >读取树对象到暂存区</span></p></td></tr><tr><td ><p ><span >git update-index</span></p></td><td ><p ><span >工作区内容注册到暂存区及暂存区管理</span></p></td></tr><tr><td ><p ><span >git unpack-file</span></p></td><td ><p ><span >创建临时文件包含指定 blob</span>的内容</p></td></tr><tr><td ><p ><span >git write-tree</span></p></td><td ><p ><span >从暂存区创建一个树对象</span></p></td></tr></tbody></table><p ><br/></p><p >3、引用操作相关命令</p><p ><br/></p><table class="jbborder"><thead><tr class="firstRow"><td width="200" ><p ><strong><span >命令</span></strong></p></td><td ><p ><strong><span >简要说明</span></strong></p></td></tr></thead><tbody><tr><td ><p ><span >git check-ref-format</span></p></td><td ><p ><span >检查引用名称是否符合规范</span></p></td></tr><tr><td ><p ><span >git for-each-ref</span></p></td><td ><p ><span >引用迭代器,用于shell</span>编程</p></td></tr><tr><td ><p ><span >git ls-remote</span></p></td><td ><p ><span >显示远程版本库的引用</span></p></td></tr><tr><td ><p ><span >git name-rev</span></p></td><td ><p ><span >将提交ID</span>显示为友好名称</p></td></tr><tr><td ><p ><span >git peek-remote*</span></p></td><td ><p ><span >过时命令,请使用 git ls-remote</span></p></td></tr><tr><td ><p ><span >git rev-list</span></p></td><td ><p ><span >显示版本范围</span></p></td></tr><tr><td ><p ><span >git show-branch</span></p></td><td ><p ><span >显示分支列表及拓扑关系</span></p></td></tr><tr><td ><p ><span >git show-ref</span></p></td><td ><p ><span >显示本地引用</span></p></td></tr><tr><td ><p ><span >git symbolic-ref</span></p></td><td ><p ><span >显示或者设置符号引用</span></p></td></tr><tr><td ><p ><span >git update-ref</span></p></td><td ><p ><span >更新引用的指向</span></p></td></tr><tr><td ><p ><span >git verify-tag</span></p></td><td ><p ><span >校验 GPG</span>签名的Tag</p></td></tr></tbody></table><p ><br/></p><p >4、版本库管理相关命令</p><p ><br/></p><table class="jbborder"><thead><tr class="firstRow"><td width="200" ><p ><strong><span >命令</span></strong></p></td><td ><p ><strong><span >简要说明</span></strong></p></td></tr></thead><tbody><tr><td ><p ><span >git count-objects</span></p></td><td ><p ><span >显示松散对象的数量和磁盘占用</span></p></td></tr><tr><td ><p ><span >git filter-branch</span></p></td><td ><p ><span >版本库重构</span></p></td></tr><tr><td ><p ><span >git fsck</span></p></td><td ><p ><span >对象库完整性检查</span></p></td></tr><tr><td ><p ><span >git fsck-objects*</span></p></td><td ><p ><span >同义词,等同于 git fsck</span></p></td></tr><tr><td ><p ><span >git gc</span></p></td><td ><p ><span >版本库存储优化</span></p></td></tr><tr><td ><p ><span >git index-pack</span></p></td><td ><p ><span >从打包文件创建对应的索引文件</span></p></td></tr><tr><td ><p ><span >git lost-found*</span></p></td><td ><p ><span >过时,请使用 git fsck –lost-found</span>命令</p></td></tr><tr><td ><p ><span >git pack-objects</span></p></td><td ><p ><span >从标准输入读入对象ID</span>,打包到文件</p></td></tr><tr><td ><p ><span >git pack-redundant</span></p></td><td ><p ><span >查找多余的 pack</span>文件</p></td></tr><tr><td ><p ><span >git pack-refs</span></p></td><td ><p ><span >将引用打包到 .git/packed-refs</span>文件中</p></td></tr><tr><td ><p ><span >git prune</span></p></td><td ><p ><span >从对象库删除过期对象</span></p></td></tr><tr><td ><p ><span >git prune-packed</span></p></td><td ><p ><span >将已经打包的松散对象删除</span></p></td></tr><tr><td ><p ><span >git relink</span></p></td><td ><p ><span >为本地版本库中相同的对象建立硬连接</span></p></td></tr><tr><td ><p ><span >git repack</span></p></td><td ><p ><span >将版本库未打包的松散对象打包</span></p></td></tr><tr><td ><p ><span >git show-index</span></p></td><td ><p ><span >读取包的索引文件,显示打包文件中的内容</span></p></td></tr><tr><td ><p ><span >git unpack-objects</span></p></td><td ><p ><span >从打包文件释放文件</span></p></td></tr><tr><td ><p ><span >git verify-pack</span></p></td><td ><p ><span >校验对象库打包文件</span></p></td></tr></tbody></table><p ><br/></p><p >5、数据传输相关命令</p><p ><br/></p><table class="jbborder"><thead><tr class="firstRow"><td width="200" ><p ><strong><span >命令</span></strong></p></td><td ><p ><strong><span >简要说明</span></strong></p></td><td ><br/></td></tr></thead><tbody><tr><td ><p ><span >git fetch-pack</span></p></td><td colspan="2" ><p ><span >执行 git fetch</span>或 git pull 命令时在本地执行此命令,用于从其他版本库获取缺失的对象</p></td></tr><tr><td ><p ><span >git receive-pack</span></p></td><td colspan="2" ><p ><span >执行 git push</span>命令时在远程执行的命令,用于接受推送的数据</p></td></tr><tr><td ><p ><span >git send-pack</span></p></td><td colspan="2" ><p ><span >执行 git push</span>命令时在本地执行的命令,用于向其他版本库推送数据</p></td></tr><tr><td ><p ><span >git upload-archive</span></p></td><td colspan="2" ><p ><span >执行 git archive –remote</span>命令基于远程版本库创建归档时,远程版本库执行此命令传送归档</p></td></tr><tr><td ><p ><span >git upload-pack</span></p></td><td colspan="2" ><p ><span >执行 git fetch</span>或 git pull 命令时在远程执行此命令,将对象打包、上传</p></td></tr></tbody></table><p ><br/></p><p >6、邮件相关命令</p><p ><br/></p><table class="jbborder"><thead><tr class="firstRow"><td width="200" ><p ><strong><span >命令</span></strong></p></td><td ><p ><strong><span >简要说明</span></strong></p></td></tr></thead><tbody><tr><td ><p ><span >git imap-send</span></p></td><td ><p ><span >将补丁通过 IMAP</span>发送</p></td></tr><tr><td ><p ><span >git mailinfo</span></p></td><td ><p ><span >从邮件导出提交说明和补丁</span></p></td></tr><tr><td ><p ><span >git mailsplit</span></p></td><td ><p ><span >将 mbox</span>或 Maildir 格式邮箱中邮件逐一提取为文件</p></td></tr><tr><td ><p ><span >git request-pull</span></p></td><td ><p ><span >创建包含提交间差异和执行PULL</span>操作地址的信息</p></td></tr><tr><td ><p ><span >git send-email</span></p></td><td ><p ><span >发送邮件</span></p></td></tr></tbody></table><p ><br/></p><p >7、协议相关命令</p><p ><br/></p><table class="jbborder"><thead><tr class="firstRow"><td width="200" ><p ><strong><span >命令</span></strong></p></td><td ><p ><strong><span >简要说明</span></strong></p></td></tr></thead><tbody><tr><td ><p ><span >git daemon</span></p></td><td ><p ><span >实现Git</span>协议</p></td></tr><tr><td ><p ><span >git http-backend</span></p></td><td ><p ><span >实现HTTP</span>协议的CGI程序,支持智能HTTP协议</p></td></tr><tr><td ><p ><span >git instaweb</span></p></td><td ><p ><span >即时启动浏览器通过 gitweb</span>浏览当前版本库</p></td></tr><tr><td ><p ><span >git shell</span></p></td><td ><p ><span >受限制的shell</span>,提供仅执行Git命令的SSH访问</p></td></tr><tr><td ><p ><span >git update-server-info</span></p></td><td ><p ><span >更新哑协议需要的辅助文件</span></p></td></tr><tr><td ><p ><span >git http-fetch</span></p></td><td ><p ><span >通过HTTP</span>协议获取版本库</p></td></tr><tr><td ><p ><span >git http-push</span></p></td><td ><p ><span >通过HTTP/DAV</span>协议推送</p></td></tr><tr><td ><p ><span >git remote-ext</span></p></td><td ><p ><span >由Git</span>命令调用,通过外部命令提供扩展协议支持</p></td></tr><tr><td ><p ><span >git remote-fd</span></p></td><td ><p ><span >由Git</span>命令调用,使用文件描述符作为协议接口</p></td></tr><tr><td ><p ><span >git remote-ftp</span></p></td><td ><p ><span >由Git</span>命令调用,提供对FTP协议的支持</p></td></tr><tr><td ><p ><span >git remote-ftps</span></p></td><td ><p ><span >由Git</span>命令调用,提供对FTPS协议的支持</p></td></tr><tr><td ><p ><span >git remote-http</span></p></td><td ><p ><span >由Git</span>命令调用,提供对HTTP协议的支持</p></td></tr><tr><td ><p ><span >git remote-https</span></p></td><td ><p ><span >由Git</span>命令调用,提供对HTTPS协议的支持</p></td></tr><tr><td ><p ><span >git remote-testgit</span></p></td><td ><p ><span >协议扩展示例脚本</span></p></td></tr></tbody></table><p ><br/></p><p >8、版本库转换和交互相关命令</p><p ><br/></p><table class="jbborder"><thead><tr class="firstRow"><td width="200" ><p ><strong><span >命令</span></strong></p></td><td ><p ><strong><span >简要说明</span></strong></p></td></tr></thead><tbody><tr><td ><p ><span >git archimport</span></p></td><td ><p ><span >导入Arch</span>版本库到Git</p></td></tr><tr><td ><p ><span >git bundle</span></p></td><td ><p ><span >提交打包和解包,以便在不同版本库间传递</span></p></td></tr><tr><td ><p ><span >git cvsexportcommit</span></p></td><td ><p ><span >将Git</span>的一个提交作为一个CVS检出</p></td></tr><tr><td ><p ><span >git cvsimport</span></p></td><td ><p ><span >导入CVS</span>版本库到Git。或者使用 cvs2git</p></td></tr><tr><td ><p ><span >git cvsserver</span></p></td><td ><p ><span >Git</span><span >的CVS</span>协议模拟器,可供CVS命令访问Git版本库</p></td></tr><tr><td ><p ><span >git fast-export</span></p></td><td ><p ><span >将提交导出为 git-fast-import</span>格式</p></td></tr><tr><td ><p ><span >git fast-import</span></p></td><td ><p ><span >其他版本库迁移至Git</span>的通用工具</p></td></tr><tr><td ><p ><span >git svn</span></p></td><td ><p ><span >Git</span><span >作为前端操作 Subversion</span></p></td></tr></tbody></table><p ><br/></p><p >9、合并相关的辅助命令</p><p ><br/></p><table class="jbborder"><thead><tr class="firstRow"><td width="200" ><p ><strong><span >命令</span></strong></p></td><td ><p ><strong><span >简要说明</span></strong></p></td></tr></thead><tbody><tr><td ><p ><span >git merge-base</span></p></td><td ><p ><span >供其他脚本调用,找到两个或多个提交最近的共同祖先</span></p></td></tr><tr><td ><p ><span >git merge-file</span></p></td><td ><p ><span >针对文件的两个不同版本执行三向文件合并</span></p></td></tr><tr><td ><p ><span >git merge-index</span></p></td><td ><p ><span >对index</span>中的冲突文件调用指定的冲突解决工具</p></td></tr><tr><td ><p ><span >git merge-octopus</span></p></td><td ><p ><span >合并两个以上分支。参见 git merge</span>的octopus合并策略</p></td></tr><tr><td ><p ><span >git merge-one-file</span></p></td><td ><p ><span >由 git merge-index</span>调用的标准辅助程序</p></td></tr><tr><td ><p ><span >git merge-ours</span></p></td><td ><p ><span >合并使用本地版本,抛弃他人版本。参见 git merge</span>的ours合并策略</p></td></tr><tr><td ><p ><span >git merge-recursive</span></p></td><td ><p ><span >针对两个分支的三向合并。参见 git merge</span>的recursive合并策略</p></td></tr><tr><td ><p ><span >git merge-resolve</span></p></td><td ><p ><span >针对两个分支的三向合并。参见 git merge</span>的resolve合并策略</p></td></tr><tr><td ><p ><span >git merge-subtree</span></p></td><td ><p ><span >子树合并。参见 git merge</span>的 subtree 合并策略</p></td></tr><tr><td ><p ><span >git merge-tree</span></p></td><td ><p ><span >显式三向合并结果,不改变暂存区</span></p></td></tr><tr><td ><p ><span >git fmt-merge-msg</span></p></td><td ><p ><span >供执行合并操作的脚本调用,用于创建一个合并提交说明</span></p></td></tr><tr><td ><p ><span >git rerere</span></p></td><td ><p ><span >重用所记录的冲突解决方案</span></p></td></tr></tbody></table><p ><br/></p><p >10、 杂项</p><p ><br/></p><table class="jbborder"><thead><tr class="firstRow"><td width="200" ><p ><strong><span >命令</span></strong></p></td><td ><p ><strong><span >简要说明</span></strong></p></td></tr></thead><tbody><tr><td ><p ><span >git bisect–helper</span></p></td><td ><p ><span >由 git bisect</span>命令调用,确认二分查找进度</p></td></tr><tr><td ><p ><span >git check-attr</span></p></td><td ><p ><span >显示某个文件是否设置了某个属性</span></p></td></tr><tr><td ><p ><span >git checkout-index</span></p></td><td ><p ><span >从暂存区拷贝文件至工作区</span></p></td></tr><tr><td ><p ><span >git cherry</span></p></td><td ><p ><span >查找没有合并到上游的提交</span></p></td></tr><tr><td ><p ><span >git diff-files</span></p></td><td ><p ><span >比较暂存区和工作区,相当于 git diff –raw</span></p></td></tr><tr><td ><p ><span >git diff-index</span></p></td><td ><p ><span >比较暂存区和版本库,相当于 git diff –cached –raw</span></p></td></tr><tr><td ><p ><span >git diff-tree</span></p></td><td ><p ><span >比较两个树对象,相当于 git diff –raw A B</span></p></td></tr><tr><td ><p ><span >git difftool–helper</span></p></td><td ><p ><span >由 git difftool</span>命令调用,默认要使用的差异比较工具</p></td></tr><tr><td ><p ><span >git get-tar-commit-id</span></p></td><td ><p ><span >从 git archive</span>创建的 tar 包中提取提交ID</p></td></tr><tr><td ><p ><span >git gui–askpass</span></p></td><td ><p ><span >命令 git gui</span>的获取用户口令输入界面</p></td></tr><tr><td ><p ><span >git notes</span></p></td><td ><p ><span >提交评论管理</span></p></td></tr><tr><td ><p ><span >git patch-id</span></p></td><td ><p ><span >补丁过滤行号和空白字符后生成补丁唯一ID</span></p></td></tr><tr><td ><p ><span >git quiltimport</span></p></td><td ><p ><span >将Quilt</span>补丁列表应用到当前分支</p></td></tr><tr><td ><p ><span >git replace</span></p></td><td ><p ><span >提交替换</span></p></td></tr><tr><td ><p ><span >git shortlog</span></p></td><td ><p ><span >对 git log</span>的汇总输出,适合于产品发布说明</p></td></tr><tr><td ><p ><span >git stripspace</span></p></td><td ><p ><span >删除空行,供其他脚本调用</span></p></td></tr><tr><td ><p ><span >git submodule</span></p></td><td ><p ><span >子模组管理</span></p></td></tr><tr><td ><p ><span >git tar-tree</span></p></td><td ><p ><span >过时命令,请使用 git archive</span></p></td></tr><tr><td ><p ><span >git var</span></p></td><td ><p ><span >显示 Git</span>环境变量</p></td></tr><tr><td ><p ><span >git web–browse</span></p></td><td ><p ><span >启动浏览器以查看目录或文件</span></p></td></tr><tr><td ><p ><span >git whatchanged</span></p></td><td ><p ><span >显示提交历史及每次提交的改动</span></p></td></tr><tr><td ><p ><span >git-mergetool–lib</span></p></td><td ><p ><span >包含于其他脚本中,提供合并/</span>差异比较工具的选择和执行</p></td></tr><tr><td ><p ><span >git-parse-remote</span></p></td><td ><p ><span >包含于其他脚本中,提供操作远程版本库的函数</span></p></td></tr><tr><td ><p ><span >git-sh-setup</span></p></td><td ><p ><span >包含于其他脚本中,提供 shell</span>编程的函数库</p></td></tr></tbody></table><p ><br/></p><p >下面脚本之家小编特为大家分享一个图片版的</p><p >Git 常用命令速查表。点击查看大图。</p><p><img src="/up_pic/201901/021121416660.jpg" title="021121416660.jpg" alt="aaaaa.jpg"/></p><p>git init # 初始化本地git仓库(创建新仓库)</p><p>git config --global user.name "xxx" # 配置用户名</p><p>git config --global user.email "xxx@xxx.com" # 配置邮件</p><p>git config --global color.ui true # git status等命令自动着色</p><p>git config --global color.status auto</p><p>git config --global color.diff auto</p><p>git config --global color.branch auto</p><p>git config --global color.interactive auto</p><p>git clone git+ssh://git@192.168.53.168/VT.git # clone远程仓库</p><p>git status # 查看当前版本状态(是否修改)</p><p>git add xyz # 添加xyz文件至index</p><p>git add . # 增加当前子目录下所有更改过的文件至index</p><p>git commit -m 'xxx' # 提交</p><p>git commit --amend -m 'xxx' # 合并上一次提交(用于反复修改)</p><p>git commit -am 'xxx' # 将add和commit合为一步</p><p>git rm xxx # 删除index中的文件</p><p>git rm -r * # 递归删除</p><p>git log # 显示提交日志</p><p>git log -1 # 显示1行日志 -n为n行</p><p>git log -5</p><p>git log --stat # 显示提交日志及相关变动文件</p><p>git log -p -m</p><p>git show dfb02e6e4f2f7b573337763e5c0013802e392818 # 显示某个提交的详细内容</p><p>git show dfb02 # 可只用commitid的前几位</p><p>git show HEAD # 显示HEAD提交日志</p><p>git show HEAD^ # 显示HEAD的父(上一个版本)的提交日志 ^^为上两个版本 ^5为上5个版本</p><p>git tag # 显示已存在的tag</p><p>git tag -a v2.0 -m 'xxx' # 增加v2.0的tag</p><p>git show v2.0 # 显示v2.0的日志及详细内容</p><p>git log v2.0 # 显示v2.0的日志</p><p>git diff # 显示所有未添加至index的变更</p><p>git diff --cached # 显示所有已添加index但还未commit的变更</p><p>git diff HEAD^ # 比较与上一个版本的差异</p><p>git diff HEAD -- ./lib # 比较与HEAD版本lib目录的差异</p><p>git diff origin/master..master # 比较远程分支master上有本地分支master上没有的</p><p>git diff origin/master..master --stat # 只显示差异的文件,不显示具体内容</p><p>git remote add origin git+ssh://git@192.168.53.168/VT.git # 增加远程定义(用于push/pull/fetch)</p><p>git branch # 显示本地分支</p><p>git branch --contains 50089 # 显示包含提交50089的分支</p><p>git branch -a # 显示所有分支</p><p>git branch -r # 显示所有原创分支</p><p>git branch --merged # 显示所有已合并到当前分支的分支</p><p>git branch --no-merged # 显示所有未合并到当前分支的分支</p><p>git branch -m master master_copy # 本地分支改名</p><p>git checkout -b master_copy # 从当前分支创建新分支master_copy并检出</p><p>git checkout -b master master_copy # 上面的完整版</p><p>git checkout features/performance # 检出已存在的features/performance分支</p><p>git checkout --track hotfixes/BJVEP933 # 检出远程分支hotfixes/BJVEP933并创建本地跟踪分支</p><p>git checkout v2.0 # 检出版本v2.0</p><p>git checkout -b devel origin/develop # 从远程分支develop创建新本地分支devel并检出</p><p>git checkout -- README # 检出head版本的README文件(可用于修改错误回退)</p><p>git merge origin/master # 合并远程master分支至当前分支</p><p>git cherry-pick ff44785404a8e # 合并提交ff44785404a8e的修改</p><p>git push origin master # 将当前分支push到远程master分支</p><p>git push origin :hotfixes/BJVEP933 # 删除远程仓库的hotfixes/BJVEP933分支</p><p>git push --tags # 把所有tag推送到远程仓库</p><p>git fetch # 获取所有远程分支(不更新本地分支,另需merge)</p><p>git fetch --prune # 获取所有原创分支并清除服务器上已删掉的分支</p><p>git pull origin master # 获取远程分支master并merge到当前分支</p><p>git mv README README2 # 重命名文件README为README2</p><p>git reset --hard HEAD # 将当前版本重置为HEAD(通常用于merge失败回退)</p><p>git rebase</p><p>git branch -d hotfixes/BJVEP933 # 删除分支hotfixes/BJVEP933(本分支修改已合并到其他分支)</p><p>git branch -D hotfixes/BJVEP933 # 强制删除分支hotfixes/BJVEP933</p><p>git ls-files # 列出git index包含的文件</p><p>git show-branch # 图示当前分支历史</p><p>git show-branch --all # 图示所有分支历史</p><p>git whatchanged # 显示提交历史对应的文件修改</p><p>git revert dfb02e6e4f2f7b573337763e5c0013802e392818 # 撤销提交dfb02e6e4f2f7b573337763e5c0013802e392818</p><p>git ls-tree HEAD # 内部命令:显示某个git对象</p><p>git rev-parse v2.0 # 内部命令:显示某个ref对于的SHA1 HASH</p><p>git reflog # 显示所有提交,包括孤立节点</p><p>git show HEAD@{5}</p><p>git show master@{yesterday} # 显示master分支昨天的状态</p><p>git log --pretty=format:'%h %s' --graph # 图示提交日志</p><p>git show HEAD~3</p><p>git show -s --pretty=raw 2be7fcb476</p><p>git stash # 暂存当前修改,将所有至为HEAD状态</p><p>git stash list # 查看所有暂存</p><p>git stash show -p stash@{0} # 参考第一次暂存</p><p>git stash apply stash@{0} # 应用第一次暂存</p><p>git grep "delete from" # 文件中搜索文本"delete from"</p><p>git grep -e '#define' --and -e SORT_DIRENT</p><p>git gc</p><p>git fsck</p>