02-Git常用命令
三、Git常用命令
3.1、Git全局设置
- 当安装Git后首先要做的事情是设置用户名称和email地址。这是非常重要的,因为每次Git提交都会使用该用户信息。在Git 命令行中执行下面命令
- 设置用户信息
git config --global user.name "自定义名称"
git config --global user.email "自定义邮箱"
- 这里的
user.name
和user.email
不是注册Gitee账号时候使用的用户名和邮箱,此处可以任意设置 - 设置的数据会保存在
.ssh
的同级目录下的.gitconfig
文件中
- 查看配置信息
git config --list
3.2、获取Git仓库
- 要使用Git对我们的代码进行管理,首先需要获得Git仓库。获取Git仓库通常有两种方式
- 方式一
- 在本地初始化Git仓库(不常用)
- 方式二
- 从远程仓库克隆(常用)
- 方式一
- 在本地初始化Git仓库,操作步骤如下所示
- ①、在任意目录下创建一个空目录(例如MyGitRepo1)作为我们的本地Git仓库
- ②、进入这个目录中,点击右键打开Git bash窗口
- ③、执行命令 git init
- 如果在当前目录中看到.git文件夹(此文件夹为隐藏文件夹)则说明Git仓库创建成功
3.3、工作区、暂存区、版本库
- 工作区
- 包含
.git
文件夹的目录就是工作区,也称为工作目录,主要用于存放开发的代码
- 包含
- 暂存区
.git
文件夹中有很多文件,其中有一个index文件就是暂存区,也可以叫做stage。暂存区是一个临时保存修改文件的地方
- 版本库
- 前面看到的.git隐藏文件夹就是版本库,版本库中存储了很多配置信息、日志信息和文件版本信息等
3.4、本地仓库操作
- 本地仓库常用命令如下所示
- 查看文件状态
git status
- 将文件的修改假如暂存区
git add
- 将暂存区的文件修改提交到版本库
git commit
- 查看日志
git log
- 将暂存区的文件取消暂存或者是切换到指定版本
git reset
- 查看文件状态
3.4.1、git status操作
- 操作步骤
- 1、在自定义目录下创建空的仓库
git init
(前面演示过,这里就略过)
- 2、创建hello.txt文件,内容自定义
- 3、查看当前文件的状态
git status
- 1、在自定义目录下创建空的仓库
3.4.2、git add 操作
- 操作步骤
git add
命令的作用是将文件的修改假如暂存区,命令格式为git add filename
- 假如暂存区后再执行
git status
命令,可以发现文件的状态已经发生变化
3.4.3、git commit 操作
3.4.4、git log 操作
- 前置步骤
- 1、修改hello.txt
- 2、再次提交到缓存区
- 3、显示状态
- 1、修改hello.txt
- 执行
git log
操作git log
命令的作用是查看提交日志
- 通过
git log
命令查看日志,可以发现每次提交都会产生一个版本号,提交时设置的message、提交人、邮箱、提交时间等信息都会记录到日志中
注意
git log
命令存在的问题,只要版本回退之后就没法看到之前的日志了,git reflog
命令叫查看引用日志,可以看到整个过程的日志
3.4.5、git reset 操作
git reset
命令的作用是将暂存区的文件取消暂存或者是切换到指定版本- 取消暂存命令格式:
git reset filename
- 1、创建新的文件
Heihei.java
- 2、将新的文件
Heihei.java
添加到暂存区 - 3、取消其暂存
- 1、创建新的文件
- 切换到指定版本命令格式:
git reset --hard 版本号
(每次git 提交都会产生新的版本号,通过版本号可以回到历史版本)- 1、可以通过
git log
命令查看hello.txt
文件的版本号 - 2、回到某个指定的版本
- 3、查看
hello.txt
的内容
- 1、可以通过
上面的操作说法有一点点问题,比如提交到暂存区
- 应该是使用
git add
操作,git commit
操作是将文件添加到了版本库中,不是暂存区
3.5、远程仓库操作
3.5.1、git remote add
git remote add
的作用- 添加一个变量保存远程仓库的地址,避免以后每次都需要复制远程仓库的地址
- 添加远程仓库命令格式:
git remote add 变量名 远程仓库地址
- 操作步骤
- 1、在Gitee上新建一个
Hello
仓库 - 2、定位到自己本地仓库的目录下
- 3、添加远程仓库,变量名自定义,地址从网页上复制
- PS:一个本地仓库可以关联多个远程仓库
- 1、在Gitee上新建一个
后期也可以使用
git remote remove 变量名(简称)
删除关联的远程仓库
3.5.2、git remote
- 如果要查看已经配置的远程仓库服务器,可以执行
git remote
命令,它会列出每一个远程服务器的简称
解释说明
- 可以通过-v参数查看远程仓库更加详细的信息
- 本地仓库配置的远程仓库都需要一个简称,后续在和远程仓库交互时会使用到这个简称
3.5.3、git push
git push
的作用- 将本地仓库内容推送到远程仓库
- 命令格式为:
git push 地址变量名 分支名称
- 不过目前所有的代码创建出来的时候,只有一个主分支master
- 操作步骤
- 1、当前在本地仓库目录下,将当前仓库的文件推送到远程Hello仓库下
- 2、使用
git push Hello master
,推送到master分支 - 3、推送完毕以后查看远程仓库
解释说明
- 上图报错说密码错误是因为本人之前更改过Gitee的密码,没有更新本机上的Windows凭证,需要去更改一下,如下图所示
- 如果是第一次使用该操作,则会提示出一个弹框,要求输入Gitee的账号的密码,输入即可,后续电脑会根据Windows凭据上的gitee凭据直接登录,不再需要输入密码
- 推送完成后,可以到远程仓库中查看文件的变化
解释说明
- 一个仓库可以有多个分支,默认情况下在创建仓库后会自动创建一个master分支
3.5.4、git clone
- 作用
- 如果想获得一份已经存在了的 Git 远程仓库的拷贝,这时就要用到
git clone
命令。 Git 克隆的是该 Git 仓库服务器上的几乎所有数据(包括日志信息、历史记录等)
- 如果想获得一份已经存在了的 Git 远程仓库的拷贝,这时就要用到
- 命令格式
git clone 远程仓库地址 [本地目录名]
- 操作步骤
- 1、新建一个文件夹,进入到该目录
- 2、使用
git clone
命令将对应远程仓库的工程克隆到本地(.
代表克隆到当前目录) - 3、查看当前本地仓库关联的远程仓库的相关信息
解释说明
- 克隆下来的项目本身就保存了远程仓库的地址了,默认使用origin变量保存该地址
3.4.5、git pull
- 作用
- 从远程仓库获取最新版本并合并到本地仓库
- 命令格式
git pull 远程仓库变量 分支名称
- 操作步骤
- 1、在远程仓库Hello上修改hello.txt文件的内容(模拟另一个用户修改文件)
- 2、使用
git pull
命令获取最新版本 - 3、查看本地仓库hello.txt文件的内容
注意事项
- 如果当前本地仓库不是从远程仓库克隆,而是本地创建的仓库,并且仓库中存在文件,此时再从远程仓库拉取文件的时候会报错(fatal:refusing to merge unrelated histories)
- 解决办法
- 可以在git pull命令后加入参数
--allow-unrelated-histories
3.6、分支操作
- 默认情况git为每一个仓库都创建一个master分支,分支的作用是避免分支与分支之间互相影响
3.6.1、创建分支
- 命令格式
git branch 分支名称
- 操作步骤
- 1、在本地仓库目录下,列出本地分支
- 2、创建一个b1分支和b2分支
- 3、查看本地分支
3.6.2、查看分支
- 命令格式
git branch
:列出本地分支git branch -r
:列出所有远程分支git branch -a
:列出所有本地分支和远程分支
- 操作演示
3.6.3、切换分支
- 命令格式
git checkout 分支名称
- 操作演示
- 命令行中会显示出当前所在分支,如上图所示
3.6.4、推送至远程仓库分支
- 命令格式
git push 远程仓库分支 分支命令
- 操作步骤
- 1、进入本地仓库目录下,在b1分支下创建一个文件pushBranchTest.txt,并编辑内容
- 2、将创建的文件添加到暂存区,提交到本地仓库
- 3、将b1分支推送到远程仓库的b1分支下
- 4、查看远程仓库的b1分支
- 1、进入本地仓库目录下,在b1分支下创建一个文件pushBranchTest.txt,并编辑内容
3.6.5、合并分支
- 合并分支就是将两个分支的文件进行合并处理
- 命令格式
git merge 分支命令
- 操作步骤
- 1、切换到master分支
- 2、查看目录下有没有pushBranchTest.txt文件
- 3、在master分支下合并b1分支
- 4、合并后目录下会出现该文件
3.7、标签操作
- 概念
- Git 中的标签,指的是某个分支某个特定时间点的状态。通过标签,可以很方便地切换到标记时的状态
- 比较有代表性的是一般开发人员都会使用是这个功能来标记发布结点(v1.0、v1.2等等)
3.7.1、创建标签
- 命令格式
git tag 标签名
- 操作步骤
- 1、当前在本地仓库的master分支下,创建v1.0和v2.0两个标签
- 2、查看标签
3.7.2、查看标签
- 命令格式
git tag
- 具体效果可以看3.7.1演示的图
3.7.3、将标签推送至远程仓库
- 命令格式
git push 远程仓库变量名 标签名
- 操作步骤
- 1、在当前状态下创建一个新的文件:
gitTagPushTest.txt
,并编辑 - 2、将该文件添加并提交到本地仓库
- 3、将v2.0标签推送至远程仓库
- 4、推送完成后在远程仓库中查看标签
- 1、在当前状态下创建一个新的文件:
3.7.4、检出标签
- 检出标签的时候需要新建一个分支来指向某个标签
- 命令格式
git checkout -b 分支名 标签名
- 操作步骤
- 1、将v2.0版检出成分支b3
- 2、查看本地文件
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!