3、Git之常用命令
3.1、速查表
| 命令 | 作用 |
|---|---|
| git config --global user.name 用户名 | 设置用户签名(昵称) |
| git config --global user.email 邮箱 | 设置用户签名(邮箱) |
| git init | 初始化本地库 |
| git status | 查看本地库状态 |
| git add 文件名 | 添加到暂存区 |
| git commit -m "日志信息" 文件名 | 提交到本地库 |
| git reflog | 查看历史记录 |
| git reset --hard 版本号 | 版本穿梭 |
3.2、用户签名
3.2.1、设置用户签名

随便在一个地方右击鼠标,打开 Git 的命令行界面。

git config --global user.name 用户名
git config --global user.email 邮箱
签名的作用是为了区分不同操作者的身份。
用户的签名信息在每一个版本的提交信息中能够看到,以此确认本次提交是谁做的。
注意:Git 首次安装必须设置用户签名,否则无法提交代码。
3.2.2、查看用户签名

在 Windows 用户目录下的 .gitconfig 文件中,可以查看已设置的用户签名信息

注意:这里设置的用户签名,和将来登录 GitHub(或其他代码托管中心)的账号没有任何关系。
3.3、初始化本地库
3.3.1、新建一个文件夹

文件夹名称可以是任意的。
3.3.2、进入命令行界面

进入新建的文件夹,在空白处右击,在该文件夹下打开 Git 的命令行界面。

3.3.3、进行本地库初始化

执行本地库初始化命令后,该文件夹下会多了一个名称是 .git 的子文件夹(默认是隐藏状态),这就是刚创建的一个空的 Git 本地库。
git init
3.3.4、查看隐藏的本地库



3.4、查看本地库状态
3.4.1、查看初始化状态

git status
状态信息说明如下:
On branch master : 目前在 master (默认)分支上。
No commits yet :还没提交过任何内容到本地库。
nothing to commit : 现在没有什么可以提交到本地库的,因为工作区没有任何文件。
3.4.2、新增文件

在 .git 的父文件夹中(即工作区),添加一个文件。
3.4.3、查看新增文件后的状态

git status
状态信息说明如下:
Untracked files : 未被追踪的文件,本例为 hello.txt 。
nothing added to commit but untracked files present :除了未被追踪的文件,现在没有什么可以提交到本地库的。
3.5、添加到暂存区
3.5.1、将工作区的文件添加到暂存区

git add 未被追踪的文件名
注意:只使用“git add”,不添加未被追踪的文件名,会将所有未被追踪的文件都添加到暂存区。
3.5.2、查看添加到暂存区后的状态

git status
状态信息说明如下:
- Changes to be committed :要提交的更改,本例为 hello.txt 这个新文件。
注意:如果不想将暂存区中的内容提交到本地库形成历史版本,可以使用“git rm --cached 文件名”命令将暂存区追踪的内容删除(工作区的内容不受影响)。
3.6、提交到本地库
3.6.1、将暂存区的文件提交到本地库

git commit -m "日志信息" 文件名
提示信息说明如下:
[master (root-commit) 624e314] :一旦提交就会形成不能删除的历史版本,624e314 为本例提交到本地库的(精简)版本号。
1 file changed, 1 insertion(+) :一个文件有改变,插入了一行。
create mode 100644 hello.txt :100表示文件类型为常规文件,644表示具体的文件权限。
3.6.2、查看提交到本地库的状态

git status
状态信息说明如下:
- nothing to commit, working tree clean :工作区的内容和本地库最新版本的内容一致,现在没有什么可以提交到本地库的。
3.7、修改文件
3.7.1、修改前的文件内容

3.7.2、修改后的文件内容

3.7.3、查看修改文件后的状态

git status
状态信息说明如下:
- Changes not staged for commit :未暂存提交的更改。
3.7.4、将工作区的文件添加到暂存区

git add 未被追踪的文件名
注意:只使用“git add”,不添加未被追踪的文件名,会将所有未被追踪的文件都添加到暂存区。
3.7.5、查看添加到暂存区后的状态

3.7.6、将暂存区的文件提交到本地库

git commit -m "日志信息" 文件名
提示信息说明如下:
- 1 file changed, 1 insertion(+), 1 deletion(-) :一个文件有改变,修改了一行(旧行删除,新行插入)。
3.7.7、查看提交到本地库后的状态

git status
3.8、删除文件
3.8.1、删除文件前

3.8.2、删除文件后

3.8.3、查看删除文件后的状态

git status
3.8.4、将工作区的文件添加到暂存区

git add 未被追踪的文件名
3.8.5、查看添加到暂存区后的状态

git status
3.8.6、将暂存区的文件提交到本地库

git commit -m "日志信息" 文件名
提示信息说明如下:
- 1 file changed, 1 deletion(-) :一个文件有改变,删除了一行(因为文件内容只有一行)。
3.8.7、查看提交到本地库后的状态

git status
3.9、历史版本
注意:因为我不小心做了多次版本穿梭操作,所以为了更好的演示效果,我重做了上述的操作,因此下文的版本号和上文的会不一样。
3.9.1、查看历史版本(精简)

git reflog
3.9.2、查看历史版本(详细)

git log
如图所示,详细的历史版本信息会展示完整的版本号和用户签名。
3.9.3、版本穿梭

git reset --hard 版本号
注意:版本号可以使用完整的,也可以使用精简的(前提是精简的版本号没有重复)。

如图所示,穿梭到第二次提交的版本后,被删除的文件在工作区恢复了,文件内容和第二次提交时的一致。
3.9.4、查看穿梭后的历史版本

git reflog
3、Git之常用命令的更多相关文章
- GIT 版本控制常用命令学习汇总
GIT 版本控制常用命令汇总 git version 查看当前git版本信息 git help 获取全部命令帮助信息 git help <command> 获取指定命令帮助信息 git c ...
- git log 常用命令及技巧
git log常用命令以及技巧 1.git log 如果不带任何参数,它会列出所有历史记录,最近的排在最上方,显示提交对象的哈希值,作者.提交日期.和提交说明.如果记录过多,则按Page Up.Pag ...
- Git基本常用命令
Git基本常用命令如下: mkdir: XX (创建一个空目录 XX指目录名) pwd: 显示当前目录的路径. git init 把当前的目录变成可以管理的git仓库,生成隐藏.git文件. git ...
- Git是什么、Git的功能、为什么versioncontrol用Git、Git的常用命令、Git的优缺点
Git是什么 git是目前世界上最先进的分布式版本控制系统(没有之一). Git是用于 Linux内核开发的版本控制工具.与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版 ...
- Git stash 常用命令
参考: Git: How to look at the stash Git学习笔记05--git stash Git stash 常用命令 1.git stash: 保存当前的工作进度: 2.git ...
- Git 基础 —— 常用命令
Git 基础学习系列 Git 基础 -- 安装 配置 别名 对象 Git 基础 -- 常用命令 Git 基础 -- 常见使用场景 Git基础 -- Github 的使用 git init 创建 Git ...
- git之常用命令
git之常用命令 1.下载远程仓库最新代码 $ git pull --rebase origin master 2.上传代码 $ git push origin master 3.退出编辑 ESC + ...
- git的常用命令。。
git的常用命令.. git help <command> 显示command的help git show 显示某次提交的内容 git show $id git co -- <f ...
- Git - Git基本常用命令
Git基本常用命令 mkdir: XX (创建一个空目录 XX指目录名) pwd: 显示当前目录的路径. git init 把当前的目录变成可以管理 ...
- Git的常用命令记录
Git的常用命令记录 1.与远程仓库建立连接,即关联一个远程库 git remote add origin git@server-name:path/repo-name.git; 2.查看当前分支 ...
随机推荐
- Linux进程间通信-FIFO(命名管道)
本系列文章主要是学习记录Linux下进程间通信的方式. 常用的进程间通信方式:管道.FIFO.消息队列.信号量以及共享存储. 参考文档:<UNIX环境高级编程(第三版)> 参考视频:Lin ...
- Vue学习:21.mixins混入
在Vue中,mixins(混入)是一种用于分发Vue组件中可复用功能的灵活机制.它们允许你抽取组件中的共享功能,如数据.计算属性.方法.生命周期钩子等,并将其作为单独的模块复用到多个组件中.这种方式有 ...
- css 让页面变灰色
html { -webkit-filter: grayscale(1); }-webkit-filter(滤镜)有十种效果,分别是: // grayscale 灰度 // sepia ...
- des加密,url编码,url解码,des解密 DES加解密及Wrong key size错误处理
des加密,url编码,url解码,des解密 DES加解密及Wrong key size错误处理 package com.example.core.mydemo.des; import javax. ...
- 记一次cdh6.3.2版本spark写入phoniex的错误:Incompatible jars detected between client and server. Ensure that phoenix-[version]-server.jar is put on the classpath of HBase in every region server:
Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl. ...
- LLM学习笔记
1. 评估榜单 1.1. C-Eval C-Eval 是一个全面的中文基础模型评估套件.它包含了13948个多项选择题,涵盖了52个不同的学科和四个难度级别. https://cevalbenchma ...
- 用hive或mr清洗app数据
1.项目背景 从大量源数据中清洗出有效数据供后续程序使用. 源数据参照log.txt文件 2.项目源数据说明 9841EF7BDBDF0AC9AF42AEBB4E4F8D4F Id 12 状态1 22 ...
- 写给rust初学者的教程(一):枚举、特征、实现、模式匹配
这系列RUST教程一共三篇.这是第一篇,介绍RUST语言的入门概念,主要有enum\trait\impl\match等语言层面的东西. 安装好你的rust开发环境,用cargo创建一个空项目,咱们直接 ...
- java中的即时编译(JIT)简介
Java发展这么多年一直长青,很大一部分得益于开发人员长期对其坚持不懈的优化:写得更少,跑得更快!JIT就是其中一项十分重要的优化. JIT全程Java Intime Compiler,即Java即时 ...
- joigsc2022_e 题解
翻译 有长度为 \(n\) 的序列 \(a\) 和 \(L\),你需要对于每个 \(x \in[1,n]\) 求出若把第 \(x\) 个数到第 \(n\) 个数依次装入容量为 \(L\) 的箱子中(每 ...