我使用svn
命令克隆了git svn clone
存储库。在我的本地工作副本上,我做了一些更改并删除了几个文件。在我使用git commit
在本地检查更改之后,是时候将更改推送到存储库了,我这样做了
git svn dcommit
git svn rebase
所有新文件和目录都已推送到存储库,但删除的文件仍在主机系统的存储库中!换句话说:即使在git svn rebase
之后(据我所知,这是从存储库获取所有更改的命令),我的本地副本和存储库也大不相同!
为了让自己更清楚:我在远程/主机上有一个存储库,它是人们可以访问许多不同存储库的中心位置。我将其中一个存储库签出到我的本地计算机,进行了一些更改(即删除了文件),然后想要将我的更改推送/发送/保存到中央存储库。创建了新文件,但我删除的文件仍存在于中央主机上的中央存储库中。
我需要做些什么才能使本地结帐和主机系统上的存储库相等?
答案 0 :(得分:0)
问题可能出在svn
存储库,无法正确处理remove
语句。
我认为所述程序没有任何问题,但这里是“手动”删除不需要的目录的程序(假设只留下目录,所有文件都在其中正确删除。)
查看svn存储库
svn co <e.g. link to trunk path>
在本地结帐中手动删除所有目录(不会立即在本地文件结构中删除它们)
svn rm <directory>
将更改提交到存储库,之后更改在存储库和本地文件结构中可见
svn commit -m "<Sense-full message>"