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.查看当前分支 ...
随机推荐
- Centos安装Redis(极速安装)
下载 从官网找到下载文件,我下载的是redis-6.0.16.tar.gz. 安装 1. 解压文件 解压文件然后,进入解压文件夹: tar -zxvf redis-6.0.16.tar.gz cd r ...
- 开源高性能结构化日志模块NanoLog
最近在写数据库程序,需要一个高性能的结构化日志记录组件,简单研究了一下Microsoft.Extensions.Logging和Serilog,还是决定重造一个轮子. 一.使用方法 直接参考以 ...
- npm 发布自己的组件库
npm 发布组件库步骤 第一步:注册 npm 账号 第二步:编写自己的组件库 第三部:编写 package.json 可以通过命令生成 npm init { "name": &qu ...
- restTemplate.getForEntity restTemplate.getForObject GET请求
//带参数 @Test public void testGet1(){ String url = "http://IP:PORT/query?token={token}&memNo= ...
- 浅拷贝、深拷贝与序列化【初级Java必需理解的概念】
浅拷贝 首先创建两个类,方便理解浅拷贝 @Data class Student implements Cloneable{ //年龄和名字是基本属性 private int age; private ...
- Puremvc
Puremvc 框架unitypuremvc PureMVC健壮.易扩展.易维护 Many so-called Model-View-Controller frameworks today seem ...
- python 使用pandas修改数据到excel,报“SettingwithCopyWarning A value is trying to be set on a copy of a slice from a DataFrame”的解决方法
场景: 通过pandas模块,将测试数据回写到excel,测试数据有写到excel文件,但控制台输出警告信息如下 警告: SettingwithCopyWarning A value is tryin ...
- spring之NamedParameterJdbcTemplate返回自增列值
以前使用JdbcTemplate来获取自增列的值,现在发现NamedParameterJdbcTemplate也可以,而且后者大部分情况下,其实更加方便. 这种方便主要是在于代码维护方面:我们更加习惯 ...
- 基于LoRA的RLHF
参考Github 开源模型LLM-Tuning 一.简介 (1)RLHF (基于人类反馈的强化学习) 分为三步: SFT (Supervised Fine-Tuning): 有监督的微调,使用正常的 ...
- v-if 和 v-show 有什么区别?
v-if 是真正的条件渲染,会控制这个 DOM 节点的存在与否.因为它会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建:也是惰性的:如果在初始渲染时条件为假,则什么也不做--直到条件第 ...