0

背景

我一直在一个代码库上同时运行 subversion 和 git。这很好用:我可以提交到现有的远程 subversion 存储库,并使用 git 作为本地备份来存储临时提交。因此,我可以在某些工作正常时立即提交到 git,但在提交到颠覆之前继续整理它以与他人分享。

我知道我可以为此使用 git-svn,但我对我拥有的解决方案感到满意。除非出现问题并且我需要回溯,否则 git 实际上是只写的。

我正在尝试做的事情

如果我在 subversion 中切换分支,我可以将所有内容提交到 git 的master分支,然后从那里重新开始跟踪。但我觉得最好在 git 中有分支来镜像 subversion 中的分支,这样每次在 git 中暂存的文件就会更少。

如何在不从分支签出的情况下切换 git 中的分支?我希望文件根据 svn 开关进行更改,但不要被 git 覆盖。我只希望这些更改可用于 git 中的暂存,就像我手动进行的一样,并且每次在分支之间切换时都可以进行这项工作。

4

1 回答 1

3

您可以git symbolic-ref用于此目的。$BRANCH您尝试切换到的本地 Git 分支在哪里:

git symbolic-ref HEAD refs/heads/$BRANCH

您可能希望按照此命令git reset更新索引以匹配HEAD当前目标分支的状态。(这当然会丢弃您所做的任何索引操作,但不会影响工作副本中的文件。)

于 2013-08-12T20:49:16.290 回答