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.查看当前分支 ...
随机推荐
- 键盘中断,键盘驱动,基于Linux0.11
键盘,咱们做计算机这一行的自然不必多说,天天与它打交道.但熟归熟,清楚键盘背后的原理吗?键盘上都标有各键的名称,表明了各键所代表的意义,但是计算机是如何知道的?组合键是怎样实现的?按下一个代表字符的键 ...
- 图形库使用 Direct3d
1 里面的数学 矩阵是三角函数组合出来的 旋转的时候 xy 两个变量距离变 第三轴被影响角度 2视锥 远近四棱锥双剪切平面 3 三维点 A点 B点 C点 确定三位坐标 ,初始坐标是坐标中中心值 x,y ...
- Scrapy框架(十)--增量式爬虫
增量式爬虫 - 概念:监测网站数据更新的情况,只会爬取网站最新更新出来的数据. - 分析: - 指定一个起始url - 基于CrawlSpider获取其他页码链接 - 基于Rule将其他页码链接进行请 ...
- 35个Redis企业级性能优化点与解决方案
Redis作为企业级应用中广泛使用的高性能键值存储数据库,其性能优化是一个复杂且多面的话题.以下是V 哥整理的一些关键的优化点和相应的解决方案,提供给兄弟们参考. Redis的性能优化涉及到硬件选择. ...
- Linux驱动:使用workqueue、tasklet处理中断
Linux驱动:使用workqueue.tasklet处理中断 背景 中断服务程序一般都是在中断请求关闭的条件下执行的,以避免嵌套而使中断控制复杂化.但是,中断是一个随机事件,它随时会到来,如果关中断 ...
- gerrit权限控制
gerrit权限控制 背景 在公司中使用到了Gerrit作为技术管理,在配置的时候发现一些问题:转载了这篇文章作为学习. 正文开始 原文链接:https://blog.csdn.net/chenjh2 ...
- Windows 编译 FFMpeg
Windows 编译 FFMpeg 背景: 为了提高公司产品的质量,对FFMPEG进行优化,需要重新编译. Host :Windows-10,core-i7 MinGW :网络版 pkg-config ...
- C#去除时间格式化之后中间的T字母
需求是这样的, 前后端传参,然后后端序列化把字符串存在数据库. 然后发现时间类型的字段,序列化之后 ,有个字母T, DateTime dt = DateTime.Parse("2024-05 ...
- 在centos开启防火墙没启动22/tcp or 22/udp的情况下是如何ssh连上的
偶尔间查询防火墙的22/tcp or 22/udp ,看到是no的状态,而且此时也是ssh登陆的,然后就反复尝试,关闭22端口,开启,重载,重启.甚至连上另个服务器发现还是一样的情况.在群里问大佬们终 ...
- PHP接入苹果支付
Ios苹果支付流程: 客户端先从苹果获取内购Id. 客户端将内购id,金额.用户id等传给服务端获取一个自己服务端生成的订单号. 客户端向苹果发起支付. 支付成功后,客户端从本地拿支付凭证.将支付凭证 ...