GitHub学习(四)

之前我们讲了文件的修改,本次我们将对文件的删除和误删恢复操作进行介绍。

我在本地工作区中新增了几个文件,我们通过ls -la命令来查看一下。

GitHub学习(四)_第1张图片
本地工作区新增文件

此时,如果我想删除file.txt文件,直接用rm <文件名>进行删除

GitHub学习(四)_第2张图片
将file.txt文件删除,并查看本地工作区状态

此时,工作区的file.txt已经被删除。由于没有添加到暂存区,也没有提交到版本库,此次删除无法恢复。

当我们将文件提交到暂存区后,通过rm删除没用的文件,会提示你最近添加和删除的操作

GitHub学习(四)_第3张图片
git add . 提交到暂存区
GitHub学习(四)_第4张图片
提示信息

如果你误删了file.txt,可以用git checkout -- <文件名>将暂存区中的file.txt恢复到本地工作区,此时本地暂存区将恢复到git add. 时的状态。

GitHub学习(四)_第5张图片
恢复到git add .时

但如果已经将删除后的文件提交到本地仓库,误删的文件将无法通过git checkout恢复。

GitHub学习(四)_第6张图片
删除后提交到版本库
无法恢复

我们需通过上一篇的git reset版本回退来恢复误删的文件。但此时恢复的文件将是版本库中的最新版本,之后所做的修改将无法恢复

如果你将误删后的版本推送到了远程仓库,此时远程仓库中的文件也已被移出,想要恢复则需要如下操作:

查看版本信息,并回退到想要的版本

GitHub学习(四)_第7张图片
查看并回退版本

我们照之前的操作将file.txt添加到暂存区,然后提交到本地仓库并推送至远程仓库

GitHub学习(四)_第8张图片
将file.txt添加到暂存区,然后提交到本地仓库并推送至远程仓库

这时,提示我们需要先从远程仓库拉取项目。

GitHub学习(四)_第9张图片
拉取远程项目

但在拉取远程仓库时却出现了问题。然后我又重新回到之前的版本,这次我对file.txt文件直接进行编辑。

重新回退版本,并对file.txt直接进行编辑

重新提交到本地仓库,并在推送到远程仓库前拉取远程项目,提示当前版本与其他版本有冲突,需要手动合并。

GitHub学习(四)_第10张图片
提示需要手动合并冲突

又重新对file.txt进行添加、提交等操作

GitHub学习(四)_第11张图片
重新添加、提交,并推送至远程

此时修改后的file.txt被成功提交到远程仓库。

GitHub学习(四)_第12张图片
远程仓库中的项目文件

注:由于远程仓库中已是删除file.txt后的版本,所以在版本回退后,如果直接进行添加等操作,删除的文件还是会在拉取时被移除。

你可能感兴趣的:(GitHub学习(四))