GitHub学习(四)

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

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

本地工作区新增文件

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

将file.txt文件删除,并查看本地工作区状态

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

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

git add . 提交到暂存区
提示信息

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

恢复到git add .时

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

删除后提交到版本库
无法恢复

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

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

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

查看并回退版本

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

将file.txt添加到暂存区,然后提交到本地仓库并推送至远程仓库

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

拉取远程项目

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

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

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

提示需要手动合并冲突

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

重新添加、提交,并推送至远程

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

远程仓库中的项目文件

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. 安装 Github 查看是否安装git: $ git config --global user.name "...
    Albert_Sun阅读 13,737评论 9 163
  • 入睡时间:22:30 起床时间:07:00 【每日一思】你有为社会贡献过什么有价值的东西?跟大家分享3个吧! 1....
    雲端生活美学阅读 129评论 0 0
  • 之前的内容: Kotlin秘籍之变量 Kotlin秘籍之基本类型 在java中,低精度向高精度转化是自动转换的,...
    ChicoChen阅读 5,356评论 0 2
  • 喜欢你 乍见之欢 只因多看了一眼 只因多聊了几句 听说 爱是久处不厌 那又如何 我喜欢你 出于乍见之欢 而后 我爱...
    微人于归阅读 156评论 0 1