当前位置:  开发笔记 > 前端 > 正文

如何在svn和/或git中"unversion"一个文件

如何解决《如何在svn和/或git中"unversion"一个文件》经验,为你挑选了4个好方法。

它总是发生在我身上.我不小心版本文件,我不想被版本化(即开发人员/机器特定的配置文件).

如果我提交这个文件,我会搞乱所有其他开发者机器上的路径 - 他们会不高兴.

如果我从版本控制中删除该文件,它将从其他开发者机器中删除 - 他们会不高兴.

如果我选择永远不提交文件,我总是有一个"脏"的结账 - 我不开心.

是一种干净的方法来"修改"来自修订控制的文件,这会导致没有人感到不快乐吗?

编辑:尝试澄清一点:我已经将文件提交到存储库,我只想将其从版本控制中删除 - 我特别不希望它从每个人进行结账时被物理删除.我最初希望它被忽略.

答:如果我能接受第二个答案,那就是这个.它回答了关于git的问题 - 接受的答案是关于svn.



1> wxs..:

在Git中,为了从树中删除它,而不是从工作目录中删除它,我认为这就是你想要的,你可以使用--cached标志,即:

git rm --cached 


是否会在删除更改时删除其他人的文件副本?
@wxs是的,它会的.

2> 小智..:

SVN 1.5版支持从存储库中删除/删除文件而不会丢失本地文件

取自http://subversion.tigris.org/svn_1.5_releasenotes.html

新的--keep-local选项在删除后保留路径..

删除(删除)现在使用--keep-local选项在本地保留其目标,因此即使未修改也不会删除路径.


在**TortoiseSVN**中,此选项隐藏在"扩展上下文菜单"中:右键单击该文件.
然后,您可以将svn propedit与svn:ignore属性一起使用,以确保这些本地存储的文件在将来的更改中不会出现.
答:不,不!该死的!

3> Glenn Slaven..:

如果您在svn中意外"添加"了一个文件并且尚未提交,则可以恢复该文件并删除添加.



4> Kai..:

没试过......

在git中,如果您的更改尚未传播到另一个存储库,您应该能够git rm受影响的文件,git rebase --interactive将删除提交重新排序为在您意外添加违规文件的提交之后,然后压缩那两个人一起承诺.

当然,如果其他人撤消了您的更改,这将无济于事.

推荐阅读
小妖694_807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有