Git使用学习(十、文件的删除和撤销)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_16777851/article/details/88769286

第一种:一个文件加入本地库中之后,删除工作目录下的这个文件,之后提交没这个文件的工作目录到本地库。

第一步:创建一个文件,加入到本地库

此时工作区,暂存区,本地库都有这个test.txt文件存在。

第二步,删除文件,提交本次更改

这次删除文件后的提交要注意一个点,就是git add这个命令对于删除了的文件的使用。

可以看一下我之前的使用。直接使用git add [file],系统给出警告

这里对git add这个命令说明一下

git add 这个命令处理后面可以增加 pathname,也可以增加参数

git add 默认不加参数,表示他会监控工作区的状态,使用它会把工作时的所有变化提交到暂存区,包括文件内容修改(modified)以及新文件(new),但不包括被删除的文件

git add -u(--update),表示他仅监控已经被add的文件(即tracked file),他会将被修改(文件内容修改和文件删除)的文件提交到暂存区,。add -u 不会提交新文件(untracked file)。

git add --all(-A, --no-ignore-removal),是上面两个的合集,即会把修改的文件加到暂存区,也会把新建的文件加到暂存区,同时还会把已经工作区删除了的文件从暂存区删除掉。

第三步,从本地仓库恢复文件到工作区域和暂存区域。

因为。32f58c2这个版本的test.txt文件是已经删除掉的。所以要恢复test.txt,就要从7d66b6a这个版本恢复。



git对版本的管理遵循一个原则,本地库版本中只增加,不删除。

上面的版本中,虽然我们在工作区域删除了,而且提交了,但这个删除只是在提交的这个版本的删除。而不是删除了之前版本的test.txt文件。

假如我们在工作区新建一个文件,然后我们把这个文件加入到暂存区。接着文件不小心被我们从工作区删除了。如何让从暂存区恢复数据到工作区。

下面的这个apple.txt就是这种状态。

上面其实已经给出了命令提示。

既然工作空间的删了apple.txt,本地库也没有apple.txt

想在有两种情况,要还是不要apple.txt

如果确定不要,使用git reset HEAD apple.txt  表示用撤销暂存区的修改。

如果想要这个文件,使用git checkout -- apple.txt,即把apple.txt,工作区的修改(删除也算修改的一种)全部撤销。

这个命令的作用是将文件在工作区的修改全部撤销。

注意:这个命令中的   --  非常重要,如果没有这个 -- 就是切换分支操作 了。

猜你喜欢

转载自blog.csdn.net/qq_16777851/article/details/88769286
今日推荐