我们有一个中央svn存储库,并且开始让人们在本地使用git来管理工作项。
当我第一次设置我的本地git存储库时,我将ignore-path设置为忽略trunk,因此我可以在一个分支上工作。我的同事没有忽视行李箱。这很好,直到我们开始使用第三个裸存储库来推/拉分支。
当我拉他们的git分支时,它将trunk作为一个添加处理,现在它变得一团糟。
当我运行git svn时,我现在希望它同步主干。如何从本地存储库重新添加/取消签名主干?
答案 0 :(得分:1)
使用git-svn访问svn存储库时,最好的方法是只使用subversion repo来共享代码¹。
当我运行git svn时,我现在希望它同步主干。如何从本地存储库重新添加/取消签名主干?
运行git svn fetch
时,应导入分支的新svn版本。
当我拉他们的git分支时,它将trunk作为一个添加处理,现在它变得一团糟。
现在您已经拥有共享git修订版,您必须使用git rebase --interactive
和git cherry-pick
来线性化历史记录,并使用git svn dcommit
将其推送到subversion中。
¹Thomas Ferris Nicolaisen 和Kris Brown详细描述了当您想要与共享的svn镜像交换代码时必须执行的操作。