10.2.3 命令git add-u快速标记删除

在前面执行git rm命令时,写下了所有要删除的文件名,好长的命令啊!能不能简化些?实际上git add就可以,即使用-u参数调用git add命令,含义是将本地有改动(包括修改和删除)的文件标记到暂存区。为了重现刚才的场景,先使用重置命令抛弃最新的提交,再使用进度恢复到之前的状态,具体操作过程如下。

(1)丢弃之前测试删除的试验性提交。


$git reset—hard HEAD^

HEAD is now at 2b31c19 Merge commit 'acc2f69'


(2)恢复保存的进度。(参数-q使得命令进入安静模式。)


$git stash apply-q


(3)然后删除本地文件,状态显示出依然只是在本地删除了文件,暂存区中的文件仍在。


$rm*.txt

$git status-s

D detached-commit.txt

AD hack-1.txt

D new-commit.txt

D welcome.txt


(4)执行git add-u命令可以将(被版本库追踪的)本地文件的变更(修改、删除)全部记录到暂存区中。


$git add-u


(5)查看状态,可以看到工作区删除的文件全部被标记为下次提交时删除。


$gitstatus-s

D detached-commit.txt

D new-commit.txt

D welcome.txt


(6)执行提交,删除文件。


$git commit-m "delete trash files.(using:git add-u)"

[master 7161977]delete trash files.(using:git add-u)

1 files changed,0 insertions(+),2 deletions(-)

delete mode 100644 detached-commit.txt

delete mode 100644 new-commit.txt

delete mode 100644 welcome.txt