首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除文件夹,使其不被`git`跟踪,但在其他主机上执行` `git pull`时,不要从文件系统中删除该文件夹

删除文件夹,使其不被`git`跟踪,但在其他主机上执行` `git pull`时,不要从文件系统中删除该文件夹
EN

Stack Overflow用户
提问于 2019-02-11 21:56:00
回答 1查看 33关注 0票数 0

我使用以下命令从git跟踪的文件夹中删除了一个文件夹:

代码语言:javascript
复制
git rm -r --cached path_to_your_folder/

之后,我将路径放入我的.gitignore并执行了一次git commit。我原以为在我执行git pull之后,另一台主机上的path_to_your_folder将保持不变,但整个文件夹已从文件系统中删除。如何防止这种情况并将该文件夹保留在执行git pull的主机的文件系统上

EN

回答 1

Stack Overflow用户

发布于 2019-02-11 22:41:39

我不能找到任何完全适合使用标志或其他命令,但在一些研究后,我已经找到了一个解决办法,即使在从git pull删除后恢复它。

它使用了几个命令,如下所示:

代码语言:javascript
复制
git pull && git checkout <last-commit-with-folder> path_to_your_folder/ && git reset

这是可行的,但并不美观。

它首先执行git pull,然后使用git checkout从git历史中恢复文件或文件夹,然后使用git reset删除添加到git索引中的内容,就像什么都没有删除一样。

如果文件夹的最后一次提交是前一个,那么您可以使用以下命令:

代码语言:javascript
复制
git pull && git checkout HEAD^ path_to_your_folder/ ** git reset
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54632134

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档