前言学习了一段时间的Git,感觉操作有gitcommit,gitpull,gitpush,gitadd,gitsubmodule,gitstash,gitbranch,gitcheckout,gitmerge等,下面的总结是分类进行的,比较清晰。创建并复制一个创建的仓库:$gitclonessh://haorooms@domain.com/blog.git新建一个本地仓库:$gitinitlocalmodification显示工作路径下修改的文件:$gitstatus显示相同的上次提交的版本文件差异:$gitdiff将当前所有修改添加到下次提交:$gitadd将对文件的修改添加到下次提交:$gitadd-p本地提交的所有修改:$gitcommit-a提交之前标记的更改:$gitcommit附上消息提交:$gitcommit-m'messagehere'提交时间设置为之前的某个日期:gitcommit--date="`date--date='ndayago'`"-am"CommitMessage"修改最后一次提交:不要修改已发布的提交记录!$gitcommit--amend当前分支未提交的修改移动到另一个分支gitstashgitcheckoutbranch2gitstashpopSearch从当前目录的所有文件中查找文本内容:$gitgrep"Hello"在某个版本中查找文本:$gitgrep"Hello"v2.5Commithistoryfrom***Commit开始,显示所有提交记录(显示hash、作者信息、标题和提交时间):$gitlog显示所有提交(只显示提交的hash和message):$gitlog--oneline显示用户的所有提交:$gitlog--author="username"显示文件的所有修改:$gitlog-p修改文件的人员、时间和内容:$gitblamebranchwithTags列出所有分支:$gitbranch切换分支:$gitcheckout创建并切换到新分支:$gitcheckout-b基于当前分支创建新分支:$git分支<新分支h>基于远程分支创建新的可追踪分支:$gitbranch--track删除本地分支:$gitbranch-d标记当前版本:$gittag更新发布列出当前配置的远程:$gitremote-v显示远程信息:$gitremoteshow添加新远程:$gitremoteadd下载远程版本,但不合并到HEAD中:$gitfetch下载远程版本并自动将其与HEAD版本合并:$gitremotepull将远程版本合并到本地版本中:$gitpulloriginmasterpublishes远程端的本地版本:$gitpushremote删除远程端分支:$gitpush:(自Gitv1.5.0起)或gitpush--delete(自Gitv1.7.0起)发布标签:$gitpush--tagsmergeandreset将分支合并到当前HEAD中:$gitmerge将当前HEAD版本重置为到分支:不要重置已发布的提交!$gitrebase退出重置:$gitrebase--abort解决冲突后继续重置:$gitrebase--continue使用配置的合并工具解决冲突:$gitmergetool在编辑器中手动解决冲突后,将文件标记为已解决的冲突$gitadd$gitrmUndo放弃工作目录中的所有更改:$gitreset--hardHEADshift除了缓存之外的所有文件(即撤消上次gitadd):$gitresetHEAD放弃对文件的所有本地修改:$gitcheckoutHEAD重置提交(通过创建不同的新提交)$gitrevertresetsHEAD到指定的版本,并丢弃该版本之后的所有修改:$gitreset--hard将HEAD重置为上次提交的版本,并将后续修改标记为未添加到缓存区域的修改:$gitresetResetHEAD到上次提交的版本,保留未提交的本地修改:$gitreset--keep在使用gitsubmodule的开发过程中,经常会有一些公共的部分想提取出来做一个公共库给其他项目使用。这样,git的gitsubmodule命令就是用来给当前项目添加一个子模块的。命令如下:gitsubmoduleadd仓库地址路径,例如:gitsubmoduleaddhelloworld.gitgitcommit-m"Addsubmoduleshelloworld.git"其他配合gitclone/path/to/repos/helloworld_parent.gitgitsubmoduleinitgitsubmoduleupdatetoremove1.删除git缓存和物理文件夹2.删除.gitmodules的内容(或者整个文件)因为本例只有两个子模块,所以直接删除文件3.删除子模块的配置源文件.git/config4.提交修改