从工作文件夹中删除舞台中的目录,但保持远程

时间:2016-03-31 05:14:50

标签: git cloud9-ide

我正在尝试在GIT中删除本地文件夹。但是当我确实推动时,不要推动改变。

在本地删除文件夹后,我尝试将其添加到/info/exclude,但它没有帮助。该文件夹在状态中仍显示为“删除”。

我也不想,谁使用同一台计算机才能git checkuot HEAD~2并取回该文件夹。

换句话说:我正在给我的朋友一个私人存储库。存储库包含敏感数据。我的朋友没有git的问题。因此,对于每个拉动&他需要我输入密码(这很好)。我想从我的朋友计算机中删除一个文件夹,所以我们将无法看到它。

(谁问我为什么要从我朋友的电脑上删除文件...这是我的电脑,但我把它交给我的朋友工作了)

(我不是要求在GIT中删除历史记录,因为我希望它仍然存在于历史记录中,对于克隆REPO的其他用户来说)

(我的朋友计算机实际上是cloud9,所以如果你有另一个解决方案,那就太好了)

如果不清楚,请发表评论,我会改进这个问题。

2 个答案:

答案 0 :(得分:1)

  

我也不想,谁使用同一台计算机才能git checkout HEAD~2并取回该文件夹。

这个,你不能这样做。如果它在历史中,那么任何人都可以使用它。

最接近的是(a)设置稀疏结账的存储库,

printf %s\\n '*' '!path/to/folder' > .git/info/sparse-checkout
git config core.sparsecheckout true
git checkout

从那时起,任何不参与稀疏结账设置的人都不会在结账时看到排除的文件夹,或者(b)从您的分布式历史记录中删除该文件夹,并在私人存储库中保留单独的历史记录公共和私人部分。

答案 1 :(得分:0)

使用Skill.CubicEaseInOut标记标记即使有更改

也不会跟踪文件

https://git-scm.com/docs/git-update-index

- [无糖]假设-不变

  

指定此标志时,不会更新为路径记录的对象名称。

     

相反,此选项设置/取消设置路径的“假定未更改”位。

     

当“假定未更改”位打开时,用户承诺不更改文件并允许Git假定工作树文件与索引中记录的文件匹配。如果要更改工作树文件,则需要取消设置该位以告知Git。当在具有非常慢的lstat(2)系统调用(例如cifs)的文件系统上处理大项目时,这有时很有用。

     

如果需要在索引中修改此文件,Git将失败(优雅地),例如合并时提交;因此,如果上游更改了假定未跟踪文件,则需要手动处理该情况。

enter image description here