git学习

it2025-04-11  18

Git 创建版本库 ,版本回退 ,Git的工作区暂存区以及管理修改

学习目标:

Git初学一、

学习内容:

一 版本库 1 什么是版本,版本库又名仓库,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。 2 然后我们需要创建文件并将它添加到仓库 提交给仓库 用Git add 将readme.txt添加到仓库,再用 Git commit - m 将readme.txt文件提交到仓库 commit -m " " 引号内是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。

git commit命令执行成功后会告诉你,1 file changed:1个文件被改动(我们新添加的readme.txt文件);2 insertions:插入了两行内容(readme.txt有两行内容)。 使用 Git commit 可以实现提交多个文件 比如: git add file1.txt git add file2.txt file3.txt git commit -m "add 3 file "

二 版本回退 将上面的 readme.txt 文件修改 如下 这时候就存在两个版本,使用 git log 可以查看历史记录 如果我们想回到 "wrote a readme file " 可以使用两种命令 :1

git reset --hard HEAD^回到上一个版本, HEAD^^可以回到上上一个版本 . 2 直接在hard后输入 想要回到的版本的版本号 (多打几位方便寻找).

当你找不到自己之前改的内容时 可以用git log 来查找 也可以用git reflog 来调出你 所有的历史记录 三 、工作区 和暂存区 像 前面创建的 learngit 就是一个工作区 在工作区有一个隐藏的.git 是git的版本库 Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD

前面讲了我们把文件往Git版本库里添加的时候,是分两步执行的:

第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;

第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。

因为我们创建Git版本库时,Git自动为我们创建了唯一一个master分支,所以,现在,git commit就是往master分支上提交更改。

你可以简单理解为,需要提交的文件修改通通放到暂存区,然后,一次性提交暂存区的所有修改。

现在,我们给readme.txt 增加一行新内容 Git has a mutable index called stage. 并给工作区增加一个新文件 liscense.txt 此时用git status 查看状态 此时 没有add,所以readme.txt 显示被修改了 ,liscense.txt处于未跟踪状态。 我们给他们把git.add 添加上去 ,这时,暂存区的状态就变为

最后git commit -m 就把他们提交到分支了。 此时暂存区就没有任何内容了

git diff 命令 说明: 比较工作区和暂存区时用 git diff 比较暂存区和 分支时用 git diff --cached 比较工作区和分支时用 git diff HEAD

四、撤销修改 1、当你在工作区修改时 发现出了错误 ,可以用git checkout file 来撤销你在工作区的所有修改。 命令git checkout readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:

一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;

一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

总之,就是让这个文件回到最近一次git commit或git add时的状态。

2、当你修改还git add 后发现错误 此时先 git reset HEAD <文件> 撤销暂存区的修改, 然后再重复第一步,撤销工作区的修改,这样又能恢复到上一个版本了。

五、删除文件 我觉得read.txt文件没用了,想要删除 如果确实要删除, 那就用命令git rm删掉,并且git commit 当发现删除错误的时候,就用git check out 恢复 ,但是从来没有被添加到版本库就被删除的文件,是无法恢复的!

最新回复(0)