相信大家都知道git吧,在实际开发中,会使用git作为版本控制工具来完成团队协作。因此掌握最基本的git命令是必要的。本文主要介绍一些基本的常用的git命令,不涉及原理。
我在网上看到一张比较全面的git命令图,大家可以参考一下
上面这张图基本包含所有命令,并不适合新人上手,要想学习一些基础常用的命令,那么请接着往下看。
1.git简介
首先我们得了解git的通用操作流程,下面是一张网上比较经典的一张图
2.基本概念
基于上面这张图,我们可以分离出比较重要的几个点:
-
版本库.git
首先是初始化git
git init,进行这个命令之后,文件中会多出一个.git文件,我们把这个文件称之为版本库 .git还有另外一个作用,就是在创建的时候会自动创建master分支,并且将HEAD指针指向master分支 -
工作区
- 存放项目的位置(自己电脑上的路径)
- 可以理解为上图中的workspace
-
暂存区(Index/Stage)
- 就是暂时存放文件的地方
- workspace中的文件。通过
git add .(将所有更新后的代码添加到暂存区)命令就可以添加到缓冲区(就是暂存区)
-
本地仓库(Repository)
- 大多数情况下,我们使用
git commit -m命令将暂存区的文件添加到本地仓库 - 通常情况下HEAD指针的指向就是master分支
- 大多数情况下,我们使用
-
远程仓库(Remote)
- 当我们使用GitHub(或者Gitee)来托管我们的项目时,它就是一个远程仓库
- 我们经常使用
git clone + 远程仓库地址命令将远程仓库代码拷贝下来,本地代码更新之后,再通过git push托送给远程仓库(最好在git push之前执行一次git pull(保持良好的开发习惯) git pull拉取远程仓库中的最新数据并合并到当前分支。因为在开发中不会是之后你一个人在开发,可能同时会有多个程序员同时开发,所以要保持良好的开发习惯,在git push之前进行git pull
3.Git文件状态
-
通常我们需要查看一个文件的状态
git status可以看出当前处于哪个分支 是否有文件需要commit 是否有文件需要add它会给我们返回一些数据
-
Changes not staged for commit表示的是工作区有该内容,但是缓存区没有,需要我们进行
git add . -
Changes to be committed一般而言,这个时候文件放在缓存区,我们需要
git commit -m '文件描述' -
nothing to commit,working tree clean这个时候我们将本地的代码
git push到远程仓库即可
-
-
查看历史操作记录
git reflog -
查看日志
git log可以看到进行过操作的人员信息
4.Git配置命令
-
获取当前配置
git config --list -
获取本地仓库配置
git config --local --list -
获取全局配置
git config --global --list -
获取系统配置
git config --system --list如果通过上述命令,你发现并没有配置用户信息的话,那么请配置(必操作)
--配置用户名 git config --global user.name "你的远程仓库用户名" --配置用户邮箱 git config --global user.email "你的远程仓库绑定邮箱"
5.Git分支管理
-
查看本地分支
git branch -
查看远程分支
git branch -r -
查看本地和远程分支
git branch -a -
切换分支
git checkout + 分支名 -
创建并切换到分支
git checkout -b + 分支名 -
删除分支
git branch -d + 分支名 -
重命名分支
git branch -m + 旧分支名 + 新分支名 -
当前分支与指定分支合并
git merge + 分支名 -
查看哪些分支已经合并到当前分支
git branch --merged -
查看哪些分支没有合并到当前分支
git branch --no-merged
6.差异比较
-
比较工作区与缓存区 || 比较两个commit之间的差异
git diff -
比较缓存区和本地仓库最近一次commit内容
git diff --cached -
比较工作区与本地最近一次commit内容
git diff HEAD-------前端小白坚持更新的第二天