git相关命令

目录

一、创建

二、添加文件和修改提交文件

[1、git add 文件名 添加到暂存区](#1、git add 文件名 添加到暂存区)

提交多个文件

撤销回工作区

[2、git commit -m "注释" 提交文件到主分支](#2、git commit -m "注释" 提交文件到主分支)

3、修改后添加,提交

三、版本回退

[1、查看日志git log](#1、查看日志git log)

2、版本回退和撤销

2.1版本回退(当前的版本回退到上一个版本)

2.2回退撤销(把回退的再撤销)

四、删除文件


一、创建

目录下新建一个testGit版本库。进入该文件夹,右键通过命令行的方式打开窗口。

git bash here

通过命令 git init 把这个目录变成git可以管理的仓库

git init 把这个目录变成git可以管理的仓库。目录中生成.git的隐藏文件夹,这个目录是Git来跟踪管理版本的,没事千万不要手动乱改这个目录里面的文件,否则,会把git仓库给破坏了。

.git里面内容如下:

二、添加文件和修改提交文件

首先要明确下,所有的版本控制系统,只能跟踪文本文件的改动,比如txt文件,网页,所有程序的代码等,Git也不列外,版本控制系统可以告诉你每次的改动,但是图片,视频这些二进制文件,虽能也能由版本控制系统管理,但没法跟踪文件的变化,只能把二进制文件每次改动串起来,也就是知道图片从1kb变成2kb,但是到底改了啥,版本控制也不知道。

1、git add 文件名 添加到暂存区

创建文件readme.txt,并在里面写上一些话。

此时这个文件在工作区

通过git status可以查看文件追踪的情况

用命令 git add readme.txt添加到暂存区里面去。

我们发现添加到暂存区的时候会有警告出现。不过没关系,是换行符的警告。

我们可以看到readme.txt目前处于暂存区。

提交多个文件

git add 文件1 文件2 (此时添加文件1和2进入暂存区)

git add . (添加工作区所有文件到暂存区)

git add -A 提交所有变化

git add -u 提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)

git add . 提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件

撤销回工作区

可以通过提示的话来撤销回工作区 git rm --cached readme.txt

2、git commit -m "注释" 提交文件到主分支

git commit -m 'first commit'

现在我们已经提交了一个readme.txt文件了,我们下面可以通过命令git status来查看是否还有文件未提交

注意:注释是必须要写的。

3、修改后添加,提交

修改文件,在文件中加入一行。查看git的状态

我们发现文件进入到工作区

这里有两个提示分别是

1、修改后的readme.txt需要再次进行添加提交

2、或者checkout上一个版本的文件来覆盖修改后的文件

git checkout -- readme.txt

三、版本回退

1、查看日志git log

通过日志可以看到提交的注释,提交人,提交时间,提交的唯一标识符(sha1)等相关信息

git log命令显示从最近到最远的显示日志,我们可以看到最近三次提交

如果嫌上面显示的信息太多的话,我们可以使用命令 git log pretty=oneline 演示如下:

2、版本回退和撤销

2.1版本回退(当前的版本回退到上一个版本)

可以使用如下2种命令

第一种是:git reset --hard HEAD^ 那么如果要回退到上上个版本只需把HEAD^ 改成 HEAD^^ 以此类推。那如果要回退到前100个版本的话,使用上面的方法肯定不方便,我们可以使用下面的简便命令操作:git reset --hard HEAD~100 即可。未回退之前的readme.txt内容如下:

我们查看文件的内容:

查看提交日志:

第二种 :同时我们也可以通过sha1的前四位来做回退
git reset --heard sha1

2.2回退撤销(把回退的再撤销)

我们可以通过版本号回退,使用命令方法如下

git reset --hard 版本号

先通过git reflog获取当前的版本号

通过上面的显示我们可以知道,增加内容update 2的版本号是 8d95a43.我们现在可以命令

git reset --hard 8d95a43

查看撤销后的结果。

四、删除文件

创建几个txt文件用于测试删除

一般情况下,可以直接在文件目录中把文件删了,或者使用如上rm命令:rm b.txt ,如果我想彻底从版本库中删掉了此文件的话,可以再执行commit命令 提交掉。

git rm test.txt

我们发现删除的文件直接进入暂存区(此刻需要注意,如果使用rm删除不在暂存区,需要git add才会进入暂存区。如果进入暂存区可以退回工作区,使用下面命令 git reset HEAD test.txt

提交之后文件被删除。

相关推荐
工藤孤独12 小时前
Git Worktree 从零到多智能体实战
git
微尘寒风1 天前
【Git】的安装和使用
java·git
胖大和尚1 天前
Git初始化本地文件夹,并推送到远端
git
啵啵啵12341 天前
Git 底层原理:分支为什么只是一个 41 字节的文件
git
demon75520031 天前
Git Worktree详解介绍
git·worktree
胖大和尚1 天前
当前仓库推送到同一台机器上的另一个文件夹
git
轮到我狗叫了3 天前
git - 版本控制工具 - 对应的常见命令 - 以及无需后续每次手动source conda
git
changxiang3 天前
GIT 备忘
git
DogDaoDao3 天前
Windows 开发提效工具全景指南:60+ 工具的工程化分层配置
windows·git·程序员·开发工具·powershell·everything·msys2
wdfk_prog3 天前
GitHub push 失败:如何扫描并清理 Git 历史中的大文件
git·elasticsearch·github