来自svn背景:我几乎从来没有分支过,因为(缺乏)切换速度,以及将分支合并回主干需要花费数小时或更长时间。有时,如果我需要热修复网站上的问题,我会在主干中进行更改(这将与以前的更改或新功能一起存在),然后转到该文件,只执行"svn up path/ to /filename“,它将只更新该文件,修复问题,但保留其余的文件。
从概念上讲,这在git中似乎是不可能的(或必要的);它是允许挑剔的结构化分段和分组提交吗?因此,我可能会更改站点的特定区域并将其作为一个组提交,而不是像我使用svn那样进行操作,然后在一天的工作中遍历所有文件,一次提交整个批次?
我对git svn有意见
对于这种情况,当尝试git svn dcommit时会发生
Unable to determine upstream SVN information from HEAD history.
Perhaps the repository is empty. at C:\Program Files (x86)\Git/libexec/git-core\git-svn line 780.
git svn info也有问题,因为它显示了相同的错误消息。
我尝试了许多方法,作为另一个主题,但这是行不通的。:(
我已经试过了git fsck,git svn rebase -l也是。
当您执行svn switch <source> <target>时,我理解它将工作目录切换到目标路径。
我想知道--搬迁是用来做什么的。我认为这只在存储库的url发生更改时才使用,并且有人希望更新工作副本url以指向新的svn服务器位置。但似乎是Relocate can only change the repository part of an URL。
所以我的问题是,重新定位开关是做什么的?特别是,它是否可用于将自上一版本以来存在许多差异的供应商分支集成到用户分支中,即
svn co path\to\vendor\lib
svn --relocate lib url