如何撤消特定文件夹中的更改?
我修改了多个文件夹中的文件
app/code/core/
app/code/local/
app/design/frontend/
Run Code Online (Sandbox Code Playgroud)
我想撤消在文件中所做的所有更改app/code/core/,同时保持在app/code/local/和中存在的文件中修改的更改app/design/frontend/.
Dav*_*sch 31
如果要撤消更改,请执行此操作 git checkout app/code/core/
从 git 2.22+ 开始:
要撤消对目录的未提交更改:
git checkout --no-overlay -- <directory>
Run Code Online (Sandbox Code Playgroud)
要将目录重置为特定提交时的状态:
git checkout --no-overlay <commit> -- <directory>
Run Code Online (Sandbox Code Playgroud)
在 git 2.22 之前:
警告:这些方法还会从目录中删除 git-ignored 文件。
要撤消对目录的未提交更改:
rm -rf <directory>
git checkout -- <directory>
Run Code Online (Sandbox Code Playgroud)
要将目录重置为特定提交时的状态:
rm -rf <directory>
git checkout <commit> -- <directory>
Run Code Online (Sandbox Code Playgroud)
注意:git checkout <directory>这本身就是一个糟糕的答案。在简单的情况下,它会做正确的事情,而在高级情况下,它会做错误的事情,但看起来可以工作。这是因为 git 考虑的是文件,而不是目录,并且在签出的情况下,git 只会更新正在签出的代码中存在的文件。因此,您需要使用 --no-overlay 标志(2.22+)或需要首先删除该目录中的所有文件。
| 归档时间: |
|
| 查看次数: |
12372 次 |
| 最近记录: |