在编写存储在Subversion代码库中的软件时,我经常修改一些文件,然后注意到我想为主要工作做一些准备工作。例如,在实现新功能时,我注意到一些重构可能会对我有所帮助。
为了不混淆两个不相关的更改,在这些情况下,我想“隐藏”我的更改,即恢复到存储库版本,做一些其他更改,提交这些更改,然后“取回”我的更改。
git-stash正是允许这样做的。有没有什么方法可以通过Subversion直接实现,也可以通过一些插件或脚本实现。Eclipse插件也不错。
发布于 2021-01-20 20:06:38
我想对上面提到的所有解决方案做一个总结,因为在这个问题下它是如此混乱。一些高票数的答案是模棱两可的,我花了相当多的时间来证明答案的一部分是真的还是假的。
解决方案:
shelve (见下文)我试过1. 2.和3.。
1.是最简单、最安全的方法。如果您想节省时间,请使用此解决方案。我知道这并不优雅。
3.不是我的选择,因为:
git stash -u的工作原理完全不同。4. shelve将是最优雅的方式,也是与git stash -u最相似的方式。
添加未添加/未跟踪的文件-> shelve -> done。
看见?与git stash -u相比,唯一的区别是您必须先添加未添加的文件,然后再添加shelve。
测试环境:
我正在测试所有那些使用Windows Tortoise SVN客户端与网络共享副本(SAMBA)和由Windows Tortoise SVN客户端创建的本地repos的客户端。
因此,我不知道如果您使用SVN服务器,事情会有什么不同,这与local share不同。但我猜shelve可以在任何地方工作,因为它是一个本地操作/特性。
https://stackoverflow.com/questions/1554278
复制相似问题