这是我的情况:我有一个从svn检出的项目的本地副本。我正在研究Linux服务器。我在工作日的开始执行结账,然后我和其他人编辑项目中包含的文件/文件夹。在一天结束时,我必须对svn进行更改。
我正在使用命令svn status .
进行修改,然后对新文件/文件夹和已删除的文件/文件夹执行svn add [filename]
和svn delete [filename]
。
我只对重命名的文件夹有问题。我知道在svn中重命名文件夹的正确方法是命令svn move [from-folder] [to-folder]
。
但是,如果有人使用mv [from-folder] [to-folder]
重命名文件夹呢?
如果我这样做:
svn delete [from-folder]
然后
svn add [to-folder]
我的'删除命令'没有错误,但是“添加命令”出错,说“[to-folder]已经受版本控制”。
如何检查文件夹是否已重命名?我怎样才能正确提交更改?
答案 0 :(得分:4)
这里有几个问题:
svn
子命令完成所有操作。完全停止。回答核心问题:
使用svn st -u
在本地或服务器上查找任何更改。最好经常运行svn update
以尽快获取更改以防止此类问题,并在制作后尽快提交目录结构更改(假设它不会破坏其他内容),以便每个人都知道这些变化。
但是团队成员之间的良好沟通和正确使用工具是无可替代的。
答案 1 :(得分:1)
svn -u status
为您提供本地和远程更改的列表,因此您可以提前知道是否有任何此类更改。
此外,svn还具有文件锁定功能,因此如果您的团队无法达成协议而无法跨越其他人的工作,则此功能可以提供帮助:)。虽然可以窃取锁,但svn lock [[your file]]
会给你一些安全保障。见the documentation:)