Git快速入门

简介: Git快速入门

一  快速使用

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 能够高效地管理代码的版本和变更。


相关文章
|
7月前
|
Java Shell 开发工具
Git快速入门+常用指令
Git快速入门+常用指令
67 0
|
1月前
|
Linux Shell 开发工具
Git 快速入门:全面了解与安装步骤
Git 是一个开源的分布式版本控制系统,由 Linus Torvalds 于 2005 年创建,最初是为了更好地管理 Linux 内核开发而设计。
46 1
Git 快速入门:全面了解与安装步骤
|
3月前
|
存储 Linux 开发工具
Git基础命令,分支,标签的使用【快速入门Git】
本文详细介绍了Git版本控制系统的基础概念和常用命令,包括工作区、暂存区和版本库的区别,文件状态的变化,以及如何进行文件的添加、提交、查看状态、重命名、删除、查看提交历史、远程仓库操作和分支管理,还涉及了Git标签的创建和删除,旨在帮助读者快速入门Git。
Git基础命令,分支,标签的使用【快速入门Git】
|
2月前
|
开发工具 git
【Git快速入门】Git代码管理手册与协同开发之分支管理与协作(五)
【Git快速入门】Git代码管理手册与协同开发之分支管理与协作(五)
|
2月前
|
网络协议 网络安全 开发工具
【Git快速入门】Git代码管理手册与协同开发之远程仓库(四)
【Git快速入门】Git代码管理手册与协同开发之远程仓库(四)
|
2月前
|
开发工具 git
【Git快速入门】Git代码管理手册与协同开发之基本操作(三)
【Git快速入门】Git代码管理手册与协同开发之基本操作(三)
|
2月前
|
Shell 开发工具 git
【Git快速入门】Git代码管理手册与协同开发之基本操作(二)
【Git快速入门】Git代码管理手册与协同开发之基本操作(二)
|
2月前
|
开发工具 git 索引
【Git快速入门】Git代码管理手册与协同开发之环境搭建(一)
【Git快速入门】Git代码管理手册与协同开发之环境搭建(一)
|
4月前
|
Ubuntu 开发工具 git
在Ubuntu 18.04上安装Git【快速入门】
在Ubuntu 18.04上安装Git【快速入门】
49 0
|
7月前
|
开发工具 git
Git 快速入门
初始化Git仓库、移除远程仓库连接、添加新远程仓库如`https://gitee.com/xxx.git`,使用`git pull --rebase`同步、`git add .`添加改动、`git commit -m &quot;message&quot;`提交,放弃提交用`git reset --hard`,最后`git push origin master`推送至远程主分支。
32 3