【Git】撤销 git add 命令的修改方式
只取消预演阶段
执行以下操作可以取消暂存,而不改变已经修改的内容。
git restore --staged パス
创建一个 test.txt 文件并尝试执行。
下图显示了在创建后执行 git add test.txt 的状态。
![5C0748CF-728C-4AC0-890B-7B5EEE254B94.png](https://cdn.silicloud.com/blog-img/blog/img/657d2dd537434c4406c52788/4-0.png)
在「正在进行的更改」中存在test.txt文件。
在终端中执行命令并进行撤消。
git restore --staged test.txt
![4C590208-CF47-49C4-B49F-11C8028F5F09.png](https://cdn.silicloud.com/blog-img/blog/img/657d2dd537434c4406c52788/7-0.png)
取消了“暂存区”,在“更改”中显示了test.txt。
如果没有加上“staged”进行执行,则可以撤销在“stage”后所做的更改。
在舞台结束后,我会对test.txt进行一些修改。
![DD5522BA-71BA-4B30-BF44-009522399D89.png](https://cdn.silicloud.com/blog-img/blog/img/657d2dd537434c4406c52788/11-0.png)
由于在阶段之后进行了更改,因此“已被分段的更改”和“更改”两者都显示了test.txt。
— 在执行时不添加 “staged”。
git restore test.txt
然后对于经过暂存的 test.txt 的修改会被撤销。
![6C8FE656-86BA-4F52-A7AA-0809F76C9B28.png](https://cdn.silicloud.com/blog-img/blog/img/657d2dd537434c4406c52788/16-0.png)
test.txt的显示已经从「变更」中消失了。
根据每个更改内容进行撤销。
根据变更内容取消阶段的操作如下所示。
git restore --source=HEAD --staged --worktree パス
执行上述操作将撤消舞台和更改内容,返回到前一个提交的状态。
只取消舞台前的更改。
要取消只在暂存之前所做的更改,请按照以下方式执行。
git restore --worktree パス