我的 Git 状态显示deleted我的工作树中的所有文件不正确,它们仍然存在。
要解决它,我应该执行git reset --hardwhich 重置我对其他文件的所有修改。
知道如何解决它或它是如何发生的吗?
git status 输出:
On branch develop
Your branch is behind 'origin/develop' by 15 commits, and can be fast-forwarded.
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
deleted: .gitignore
deleted: v3/.gitignore
deleted: v3/index-test.php
deleted: v3/index.php
deleted: v3/protected/.gitignore
deleted: v3/protected/.htaccess
deleted: v3/protected/Gruntfile.js
Run Code Online (Sandbox Code Playgroud)
编辑:以上不是完整的git status输出。我正在处理的那些文件没有准备删除。
如果唯一的问题是某些文件已从索引中删除,但仍在工作树中,那么您需要做的就是:
git reset
Run Code Online (Sandbox Code Playgroud)
默认情况下,git reset默认为混合模式,其执行以下操作:
- --混合
- 重置索引但不重置工作树(即保留更改的文件但不标记为提交)并报告尚未更新的内容。这是默认操作。
因此,它会保持您的更改完好无损,但会取消所有内容。如果您发现文件实际上丢失了,那么您需要检查它们以恢复它们:
git checkout -- path/to/file/or/dir
Run Code Online (Sandbox Code Playgroud)
如果您有大量文件,您可以解析git statususing的缩写形式cut并帮助完成此操作。xargs不过,我会将其作为读者的练习,因为您声称所有文件都在那里。
git co my_annoying_file
git rm my_annoying_file
git commit -m "removing annoying file"
Run Code Online (Sandbox Code Playgroud)
现在它们真正从 git 跟踪中删除了
...git reset --hard对于这种情况也可能很脆弱,考虑一下git reset HEAD my_annoying_file
| 归档时间: |
|
| 查看次数: |
3359 次 |
| 最近记录: |