git - 在 git pull 上保留已删除的文件
问题描述
在我需要拉的几个提交中,有几个删除。这些文件属于一些不应该出现在 git 存储库中的基本项目文件(这首先是我们的错误,是的)。所以我担心删除这些文件可能会导致一些故障,我不想花时间修复它。
我正在寻找类似的东西
git rm --cached
从远程仓库中删除文件但留在本地
我需要类似的东西
git pull --cached
不会删除本地文件,但会将它们从跟踪的文件中删除
解决方案
没有简单的方法可以做到这一点 -git pull
无论如何都会删除已删除的文件。您可以从以前的提交中恢复已删除的文件。提供删除文件的提交是分支中的最后一次提交:
git pull
git checkout @~ -- `git diff --diff-filter=D --name-only @~`
git reset -- `git diff --diff-filter=D --name-only @~`
这将从上次提交之前的提交中恢复已删除的文件。git reset
需要从索引(缓存)中删除文件:git checkout
将它们放在那里。
推荐阅读
- unity3d - Html 敏捷包和 Unity
- javascript - redux thunk 如何调用 curried 异步 thunk 函数?
- asciidoc - 如何将 asciidoc 属性转换为文档
- php - 除index.php文件外的php文件被访问时如何返回404?
- typescript - 在 TypeScript 中包装具有泛型类型保留的函数的最佳方法是什么?
- reactjs - 如何使用 Redux 获取数据
- python - 每当用户得到正确答案时,我如何每次添加 +1
- notepad++ - 如何在Notepad ++中仅将括号中的文本转换为大写
- angular - 是否可以使用多个 ::ng-deep 标识符在深度嵌套的组件上应用样式?
- f# - F#如何使用匿名类型代替完整类型的变量