我们常用的git命令:
add Add file contents to the index(将文件添加到暂存区)
用法:
保存某个文件到暂缓区:git add 文件名
保存当前路径的所有文件到暂缓区:git add .(注意,最后是一个点 . )
2. bisect Find by binary search the change that introduced a bug( 使用二分查找快速定位版本的错误,bisect虽然由于使用得不多而不广为人知,但是当你想知道一个本来好的分支从什么时候开始变坏时,它就能派上用场了。)
用法:
设定前后两个版本,一个为good, 一个为bad, 使用二分查找中间的版本,进行编译,看是否出现问题,如果没有,在该版本与之前设定的bad之间再进行二分;如果有错误,则在该版本与之前设定的good之间进行二分
git bisect start/bad/good
3. branch List, create, or delete branches(列出,创建或者删除分支)
用法:
git branch 不带参数:列出本地已经存在的分支,并且在当前分支的前面加“*”号标记
git branch -r 列出远程分支
git branch -a 列出本地分支和远程分支
git branch 创建一个新的本地分支,需要注意,此处只是创建分支,不进行分支切换
git branch -m | -M oldbranch newbranch 重命名分支,如果newbranch名字分支已经存在,则需要使用-M强制重命名,否则,使用-m进行重命名。
git branch -d | -D branchname 删除branchname分支
git branch -d -r branchname 删除远程branchname分支
4. checkout Checkout a branch or paths to the working tree(从分支或路径中检出内容到工作区)
用法:
切换到新分支:git checkout branchName
5. clone Clone a repository into a new directory(克隆一个仓库到新的目录)
用法:
下载远程仓库到当前路径:git clone 仓库的URL
下载远程仓库到特定路径:git clone 仓库的URL 存放仓库的路径
6. commit Record changes to the repository(将变更提交到仓库)
用法:
提交某个文件到分支:git commit -m ”注释” 文件名
保存当前路径的所有文件到分支:git commit -m ”注释”
7. diff Show changes between commits, commit and working tree, etc(显示提交,工作目录的变化)
8. fetch Download objects and refs from another repository(从另外一个仓库下载对象)
9. grep Print lines matching a pattern(模糊查询)
10. init Create an empty Git repository or reinitialize an existing one(创建一个空的git仓库,或者再次初始化一个已经存在的仓库,生成一个.git目录,用于维护版本信息)
用法:
在当前路径初始化仓库:git init
在其他路径初始化仓库:git init 仓库路径
11. log Show commit logs(显示提交日志)
(注意:在Git中的版本号是一个”40位“的哈希值, 而SVN中的版本号是一个递增的整数)
用法:
查看某个文件的修改日志:git log 文件名
查看当前路径所有文件的修改日志:git log
用一行的方式查看简单的日志信息:git log ––pretty=oneline
查看最近的N次修改:git log –N(N是一个整数)
12. merge Join two or more development histories together(将两个开发过程合并到一起)
13. mv Move or rename a file, a directory, or a symlink(移动,重命名一个文件,目录,或个链接)
14. pull Fetch from and integrate with another repository or a local branch(从另外一个仓库或者分支获取和合并到本地仓库)
15. push Update remote refs along with associated objects(将本地的仓库更新到远程仓库)
16. rebase Forward-port local commits to the updated upstream head( Sequentially regenerate a series of commits so they can be applied directly to the head node,有序重新生成一系列的提交,并肢解用到头部节点)
17. reset Reset current HEAD to the specified state(恢复版本到一个具体的状态,建议加上––hard参数,git支持无限次后悔)
用法:
回退到上一个版本:git reset ––hard HEAD^
回退到上上一个版本:git reset ––hard HEAD^^
回退到上N个版本:git reset ––hard HEAD~N(N是一个整数)
回退到任意一个版本:git reset ––hard 版本号(版本号用7位即可)
18. rm Remove files from the working tree and from the index(将文件移除暂存区,删完之后要进行commit操作,才能同步到版本库)
用法: git rm 文件名
19. show Show various types of objects(显示不同的对象)
用法:
20. status Show the working tree status(显示工作区文件状态)
用法:
查看某个文件的状态:git status 文件名
查看当前路径所有文件的状态:git status
21. tag Create, list, delete or verify a tag object signed with GPG(创建,列出,删除或修改标签)
用法:git tag -a v1.0 -m ‘Version 1.0’
22. help 查看git指令帮助手册
用法:
查看常用指令: git help
查看其他指令的做法:git help 其他指令
23. config 配置git相关信息(修改的是.git/config文件)
用法:
配置用户名:git config “user.name” 用户名(用于跟踪修改记录)
配置邮箱:git config “user.email” 邮箱(用于多人开发间的沟通)
查看配置信息:git config –l
编辑配置信息:git config –e(用vim编辑,:wq是退出vim编辑器)
设置指令的别名:git config alias.别名 原指令名称
设置带参数指令的别名:git config alias.别名 “原指令名称 参数”
将此设置应用到整个系统中:git config ––global
24. reflog 查看分支引用纪录(能够察看所有的版本号)
Git 教程系列文章: