切换分支保留文件

时间:2013-08-12 20:41:51

标签: git svn

背景

我一直在单个代码库上运行subversion和git。这很好用:我可以提交到现有的远程subversion存储库,并使用git作为本地备份来存储临时提交。所以我可以在某些东西工作时立即提交git,但在将其提交给subversion与其他人共享之前,请继续整理它。

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

我正在尝试做什么

如果我在subversion中切换分支,我可以将所有内容提交给git的master分支,然后再从那里开始跟踪。但是我觉得在git中使用与subversion相反的分支会更好,所以每次git中都会有更少的文件。

如何在不从分支机构退出的情况下在git中切换分支?我希望文件根据svn开关进行更改,但不能从git中覆盖。我只是希望这些更改可以在git中进行暂存,就像我手动创建它们一样,并且每次在分支之间切换时都要进行此操作。

1 个答案:

答案 0 :(得分:3)

您可以将git symbolic-ref用于此目的。其中$BRANCH是您尝试切换到的本地Git分支:

git symbolic-ref HEAD refs/heads/$BRANCH

您可能希望使用git reset跟随此命令来更新索引以匹配HEAD现在定位的分支的状态。 (这当然会丢弃您所做的任何索引操作,但不会影响工作副本中的文件。)