常用的git命令
写这篇文章的目的就是为了记录下自己常用的git命令及加深记忆,也算是备忘之用吧。自己对于git的理解也都是从互联网上的各路大神博客学到的(还是感谢这个互联网分享信息的时代),水平有限也难免有疏漏或者错误的地方,如若发现欢迎批评指正。废话不多说了,进入正题。
一、设置git的用户名和邮箱
1、设置git的用户名、邮箱以及查看git的信息,命令如下:“git config --global user.name 'ysx'、git config --global user.email 'ysxfighting@gmail.com' 、git config --list”,如下图:

二、git版本库的创建
1、创建自己的版本库(比如说我在“D盘”创建了一个文件夹以“work”命名,难么现在我切换到git命令行下,然后cd到work目录下,最后以一条"git init"命令结束,现在已经拥有了版本库) ,具体如下图:

2、克隆别人的版本库或者自己已经在github上创建好的,具体命令如下:“git clone 版本库地址”,如下图:

三、有关git版本库的简单操作
1、查看当前版本库的状态,具体命令如下:"git status",如下图:

2、把版本库中的新加内容或者修改内容添加到暂存区及提交修改内容到版本库(关于工作区和暂存区我是这么理解的,凡是没有用git add xx命令之前的修改内容都是存放在工作区,反之则存放在暂存区。在work文件夹下新建了一个readme.txt文件),具体命令如下:“git add readme.txt、git commit -m '填写修改的信息'”,如下图:

上面是具体指定那个文件添加到暂存区,其实也有把所有修改添加到暂存区(往readme.txt添加内容aaa、bbb和新建文件log.txt),这样的话不用一个个的add了,命令如下:“git add .”,如下图:

3、对比所修改内容的差异化(往readme.txt里添加ccc内容,修改前和修改后的内容的对比,可以知道具体改了什么地方),命令如下:“git diff readme.txt”,如下图:

4、撤销工作区的修改内容(往readme.txt里添加ddd内容),命令如下:“git checkout -- readme.txt”,如下图:

5、撤销暂存区的修改内容(往readme.txt里添加ddd内容),命令如下:“git reset HEAD readme.txt ”,如下图:

6、查看所有提交的日志信息,命令如下:“git log”。如下图:

极简模式的log显示,命令如下:“git log --pretty=oneline”。如下图:

7、回退到上一版本,命令如下:“git reset --hard HEAD^或者git reset --hard HEAD~1”,如若要回退到第N个版本,建议用git reset --hard HEAD~n。如下图:

8、恢复到回退前的内容,命令如下:“git reflog(查看版本号)、git reset --hard 所提交的版本号”,如下图:

9、查看指定文件每次提交的记录,命令如下:“gitk <file>”,如下图:


四、分支的使用
在创建版本库的时候,系统会给你一个主分支也就是所谓的master分支,在做程序的时候一般把相对稳定的代码提交到master分支上,这时候在开发的时候就需要子分支来提交不稳定的代码了,等测试稳定了再把子分支合并到主分支上。具体操作如下:
1、创建本地的子分支,命令如下:“git branch 分支名字、git checkout <branch name>\合并成一行为:git checkout -b <branch name>”,如下图:

创建分支的简洁写法如下图:

2、查看当前版本库有几个分支,命令如下:“git branch”。如下图:

3、合并分支,命令如下:“git merge <branch name>”。如下图


五、tag的使用
每当要发布一个新版本的时候,把相应的代码做个记号是个好习惯,什么时候回头想看看以前版本的代码了直接git checkout -b <branch name> <tag name>一条命令就可回到以前的代码了,这酸爽。
1、打标签及查看标签,命令如下:“git tag <tag name>、git tag”。如下图:

2、删除标签,命令如下:“git tag -d <tag name>”。如下图:

六、常用命令
设置用户名
git config --global user.name <username>
设置邮箱
git config --global user.email <email>
创建版本库
git init
添加内容到暂存区
git add <file>
git add .
提交内容到版本库
git commit -m <modify message>
git commit -a -m <modify message>
查看版本库状态
git status
对比代码的差异化
git diff <file>
撤销工作区内容的修改
git checkout -- <file>
把暂存区的内容撤销到工作区
git reset HEAD <file>
回退
git reset --hard HEAD^
git reset --hard HEAD~1
查看日志信息
git log
git log --pretty=oneline
查看所有的日志信息
git reflog
恢复回退
git reset --hard xxx
跟踪相应文件的所有修改记录
gitk <file>
创建并切换到分支上
git checkout -b <branch name>
把远程库上的分支创建到本地并切换
git checkout -b <branch name> origin/<branch name>
查看所有分支
git branch
合并分支
git merge <branch name>
删除本地分支
git branch -d <branch name>
推送分支到远程版本库(github上的代码库)上
git push origin <branch name>
删除远程版本库(github上的代码库)上的分支
git push origin --delete <branch name>
查看所有标签信息
git tag
打标签
git tag <tag name>
删除本地标签
git tag -d <tag name>
推送所有本地标签到远程库(github上的代码库)上
git push origin --tags
推送指定标签到远程库(github上的代码库)上
git push origin <tag name>
删除远程代码库(github上的代码库)上的标签
git push origin --delete <tag name>
切换到打标签的代码上
git checkout -b <branch name> <tag name>
提交到远程库上
git push origin master
从远程库上拉取最新的内容
git pull