使用“ git svn”有两棵工作的树



我开始使用git作为颠覆客户端。目前,我一直在使用Tortoisegit,或多或少地使用Tortoisesvn,但是使用 local 提交,分支,合并,rebase,rebase,Cherry otching。

这是一个大型项目,切换一个分支并重新编译一切花费太长时间。这就是为什么我想拥有与颠覆项目的两个分支相对应的两个(或更多)工作的树。

我想知道是否可以共享两个工作树(其5GB)的.git文件夹,或者我需要克隆存储库或再次从颠覆中结帐(花了几个小时)。

>

从GIT书中看,如果两个GIT存储库之间的互动也不会与SVN互动(我不知道这是否适用于我的案件):

):

不要重写您的历史并尝试再次推动,也不要推到同时与GIT开发人员合作的并行GIT存储库。颠覆只能具有单个线性历史记录,并且混淆它非常容易。如果您正在与团队合作,而有些人正在使用SVN,而另一些则使用Git,请确保每个人都使用SVN服务器来协作 - 这样做将使您的生活更轻松。

我想拥有一个带有所有SVN分支和所有本地分支的单个存储库,我想拥有几棵大树的树木,以避免切换分支后重建所有内容。这可能吗?

我对"裸机"或"共享"存储库,遥控器和克隆的了解不多,设置此设置的基本示例将非常有帮助。

这是我最终所做的:

正如约翰内斯建议的那样,有一个脚本可以在Linux上解决我的问题(http://nuclearsquid.com/writings/git-new-workdir/)。但是我在Windows上:

  • 从https://github.com/joero74/git-new-workdir下载脚本的Windows端口
  • 打开cmd作为管理员(git安装一个无法与此脚本一起使用的Git bash,您需要使用cmd进行操作)
  • 如果没有,则将git添加到路径上。在我的情况下set PATH=%PATH%;"C:Program Files (x86)Gitbin"
  • 执行脚本。就我而言,我有一个名为project的文件夹(其中包含.git文件夹): git-new-workdir.cmd .Project .Project2

这将创建一个新的文件夹Project2,其中有一个工作树和一个名为.git的文件夹。此.git文件夹具有指向原始项目/.git的链接,因此,如果我做一些git svn fetch或创建本地分支或其他任何内容,则两个"副本"将同时更新(没有pushpull)。工作树是不同的:如果我将分支切换为一个,另一个不会改变,我可以同时在不同的分支上工作。

我只需要记住原始.git在哪里而永远不会删除它。

相关内容

  • 没有找到相关文章

最新更新