一、前言
Git作为当下最为流行的代码版本管理工具,已经成为了码农必备的日常使用技能。而对于工具而言,大狮兄觉得程序员和工具之间的爱恨情仇无非就是开始时的咬牙切齿到最后的形影不离,而多敲多练则是情感变化的不二法门。所以大狮兄今天就为大家整理的日常必备的一些常用命令。
二、Git本地工作流详解
在介绍常用命令之前,大狮兄觉得有必要给大家简单介绍一下Git的本地工作流,何为Git的本地工作流?我们知道Git实际上是用来传递本地代码和远端代码的桥梁,日常工作我们都是基于本地仓库开发,待本地测试没有问题,才提交到远端。所以Git本地流其实就是代码在本地开发的一个流程。
本地工作流代码开发总结起来会经历三个状态以及三个对应的存储区域:
- 工作状态和工作区:日常正在开发的代码状态和代码存储区域
- 暂存状态和暂存区:已经初步开发完成,并进行了add操作,但未进行commit的操作,此时的代码状态和代码存储区域就是暂存状态和暂存区
- 本地提交状态和本地仓库:已经执行过commit的代码状态和代码存储区域。
常见几个工作状态和工作区相互转换的命令如下:
1.工作区--暂存区--本地仓库
a.git status ---查看文件是否从工作区添加到暂存区
b.若已添加到暂存区,则git commit -m "commit description"; 若未添加到暂存区,则git add fileName,git commit -m "commit description"
2.暂存区--工作区
a.若已添加到暂存区,则git reset HEAD fileName,git checkout -- fileName //清空近期修改文件内容(工作区)
b.若未添加到暂存区,则git checkout -- fileName //清空工作区
3.本地仓库--暂存区/工作区
git reset HEAD~1 //回退一个版本,且会将暂存区的内容和本地已提交的内容全部恢复到未暂存的状态,不影响原来本地文件(未提交的也不受影响)
git reset –soft HEAD~1 //回退一个版本,不清空暂存区,将已提交的内容恢复到暂存区,不影响原来本地的文件(未提交的也不受影响)
git reset –hard HEAD~1(慎重) //回退一个版本,清空暂存区,将已提交的内容的版本恢复到本地,本地的文件也将被恢复的版本替换
4.清空工作区直接删除本地目录即可,清空暂存区需要commit清空工作区的命令
三、Git常用命令
1. git config的使用
1.查看当前git的配置信息
git config -l
2.全局修改:修改提交人的姓名和邮箱
git config --global user.name "IT大狮兄"
git config --global user.email xxx@xxxx.com
3.局部修改:修改当前仓库提交用户信息配置
git config --local user.name "IT大狮兄"
git config --local user.email xxx@xxx.com
2. git branch的使用
1.查看本地所有分支
git branch
2.查看远程所有分支
git branch remote -v
3.查看所有分支(远程加本地)
git branch -a
4.新建本地分支
git branch xxx
5.新建远程分支(新建远程私有仓库)
git remote add origin git@git.xxxx.com:user/xxxx.git
git push origin xxx
6.删除本地分支
git branch -d xxx
7.删除远程分支
git remote remove xxx
8.切换本地分支
git checkout xxx
9.修改远程分支名字
git remote rename 现远程分支名字 改后远程分支名字
3. git tag的使用
1.查看所有标签
git tag
2.创建标签
git tag name
3.指定标签提交信息
git tag -a name -m "comment message"
4.删除标签
git tag -d name
5.删除远程标签
git push origin :refs/tags/tagname
6.标签发布
git push origin name
4. git stash的使用
1、保存时打标记(git stash save)
$ git stash save "this is func1"
2、查看保存的内容列表(git stash list)
$ git stash list
3、应用任意一次修改到当前目录(git apply stash@{x})
$ git checkout .
$ git stash apply stash@{x}
4、丢弃任意一次修改的内容
git stash drop stash@{1}
四、总结
Git工具的重要程度在日常工作或学习中不言而喻,如果以上的命令大家很陌生,并且Git还是工作或学习的需要,那么多敲多练就势在必行了。如果大家觉得以上命令有待完善,欢迎大家评论或者私信。以上就是大狮兄为大家整理的Git的常用命令,建议大家收藏!