Git快速入门

发布于:2024-06-17 ⋅ 阅读:(12) ⋅ 点赞:(0)

一  快速使用

1.1 初始化

什么是版本库呢?版本库又名仓库,可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。创建一个版本库非常简单,首先,选择一个合适的地方,创建一个空目录(为了避免遇到各种莫名其妙的问题,请确保目录名(包括父目录)不包含中文。)

接着会看到这个文件

如果看不到可以设置一下这个查看


第二步,通过git init命令把这个目录变成Git可以管理的仓库(需要先进入创建的目录):

初始化成功后没有任何提示,正常情况 。接着设置一个名字和优先保证命令能正常执行

 二.git的基本操作

2.1将文件提交入仓库

首先新建一个txt文本文件

例如read.txt

这个时候我们可以往文件里面手动添加一些内容 

第一步,用命令git add告诉Git,把文件添加到仓库 :

 第二步,用命令 git commit 告诉Git,把文件提交到仓库:

git commit 命令执行成功后会告诉你: 1 file changed:

1 个文件被改动(我们新添加的readme.txt文件);

2 insertions:插入了两行内容(readme.txt 有两行内容)。 

commit 可以一次提交很多文件,所以可以多次add不同的文件,比如:

2.2. 掌握工作区的状态 

此时我们修改一个文件的内容

例如

输入命令git status 命令可以让我们时刻掌握仓库当前的状态,上面的命令输出告诉我们,readme.txt被修改过了, 但还没有提交。

输入命令就能看到之前的修改内容,git diff 顾名思义就是查看差异(difference),显示的格式正是Unix通用的diff格式,可以从上面的命令输 出看到,

知道了对readme.txt 作了什么修改后,再把它提交到仓库就放心多了,提交修改和提交新文件是一样的两 步,第一步是git add

执行第二步git commit

要随时掌握工作区的状态,使用git status命令。 如果git status 告诉你有文件被修改过,用git diff可以查看修改内容 

2.2版本回退

我们继续手动修改read.txt

 添加并提交

我们用git log命令查看历史版本,

git log

 

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

git log --pretty=oneline  简化版本信息

 

 上面的一大串类似1cb23...的是 commitid(版本号)

回到之前的版本,用版本号前7位即可

git reset --hard f55cc61

只是已经修改但是并未提交所以我们发现这一句还在 

但是查看文件确实已经回到了之前的版本 

回到现在的版本

当你用$ git reset--版本号  回退到增加 分布式版本时,再想恢复 到追加 基于GPL的,就必须找到追加 基于GPL的的commit id。Git提供了一个命令 gitreflog用来记录你的 每一次命令: 

  git reflog

可以查询到所以的版本,按之前步骤进入其他版本即可 

2.3. 撤消修改 

重新创建一个文件  a.txt,做出修改

 git restore 文件名#回退修改的操作

cat 文件名#查看文件内容

 可发现第二次修改的内容被删除了

场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout-- file。

场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命 令git reset HEAD ,就回到了场景1,第二步按场景1操作。

场景3:已经提交了不合适的修改到版本库时,想要撤消本次提交,参考版本回退一节,不过前提是没有推 送到远程库。

2.4 删除文件

在Git 中,删除也是一个修改操作,我们实战一下,先添加一个新文件test.txt到Git并且提交:

一般情况下,通常直接在文件管理器中把没用的文件删了,或者用rm命令删了: 

这个时候,Git知道你删除了文件,因此,工作区和版本库就不一致了,gitstatus命令会立刻告诉你哪些 文件被删除了: 

现在你有两个选择,一是确实要从版本库中删除该文件,那就用命令git rm删掉,并且,并且git commit:

git rm 文件名#在暂存区删除文件

另一种情况是删错了,因为版本库里还有呢,所以可以很轻松地把误删的文件恢复到最新版本

 git reset --soft HEAD^ #该命令可以上一次删除的文件 

在 Git 中,删除文件有两种情况:一种是直接在文件系统中删除文件,另一种是使用 git rm 命令删除文件。

如果是直接在文件系统中删除文件,可以使用以下方法找回:

  1. 使用 git checkout -- <file> 命令:该命令可以将文件恢复到最近一次提交的状态。如果文件在删除之前已经被提交到 Git 中,那么使用该命令可以找回文件。
  2. 使用 git reset HEAD <file> 命令:该命令可以将文件从暂存区恢复到工作区。如果文件在删除之前已经被添加到暂存区,那么使用该命令可以找回文件。
  3. 使用 git reflog 命令:该命令可以查看 Git 的操作记录,包括删除文件的操作。可以通过查看操作记录,找到删除文件之前的提交,然后使用 git checkout 命令恢复文件。

如果是使用 git rm 命令删除文件,可以使用以下方法找回:

  1. 使用 git reset --soft HEAD^ 命令:该命令可以撤销上一次的提交,并将文件保留在工作区中。如果文件在删除之前已经被提交到 Git 中,那么使用该命令可以找回文件。
  2. 使用 git checkout -- <file> 命令:该命令可以将文件恢复到最近一次提交的状态。如果文件在删除之前已经被提交到 Git 中,那么使用该命令可以找回文件。

需要注意的是,这些方法只能找回已经提交到 Git 中的文件。如果文件在删除之前没有被提交到 Git 中,那么这些方法将无法找回文件。因此,在删除文件之前,最好先将文件提交到 Git 中,以便在需要时可以找回文件。

 2.5 工作区,暂存区,版本区

工作区(Working Directory)
这是你实际进行代码编辑和操作的本地目录。你在这个区域中对文件进行各种修改。

暂存区(Staging Area)
也称为索引(Index)。当你决定要将工作区中的某些修改包含在下一次提交中时,就可以使用 git add 命令将这些修改添加到暂存区。暂存区起到了一个过渡的作用,让你可以有选择地组织要提交的内容。

版本库(Repository / Version Area)
这里存储了所有的提交历史记录,包括每个版本的代码状态。每次提交后,新的版本就会被添加到版本库中。它包含了项目完整的历史发展轨迹,你可以随时回滚到之前的任何一个版本。

简单来说,工作区是你日常操作的地方,暂存区是你整理要提交内容的中间地带,而版本区则是记录项目完整版本演变的仓库。这三个区相互配合,使得 Git 能够高效地管理代码的版本和变更。