Git的 - 在工作中间分支之间的切换
-
19-09-2019 - |
题
有关各种原因(代码评审大部分)我需要从目前的发展分支经常切换到其他的分支。
目前,我使用任一“git的藏匿”搁置未提交的修改,结账其他分支,然后切换回并做“git的藏匿申请”
不过,有时我不得不有一些新添加的文件,这是不被跟踪。不幸的是,积攒并不影响他们。在这种情况下,我不得不将它们添加到索引和存储。
我寻找这里是一个工作流程,其中我不得不执行一组最小的动作来切换支路,优选避免添加文件的入索引。
解决方案
您可以克隆回购到另一个目录和默认分支您想要的:
# assume your original repo is in myproj
$ git clone myproj myproj_clone --branch my_branch
如果你然后去myproj_clone
文件夹,它会在你的分支
$ cd myproj_clone
$ git branch
* my_branch
其他提示
您可以克隆的克隆库和审查/工作。删除克隆当您完成。如果你碰巧就分支/克隆的变化,你可以把它们放回。我认为一个本地克隆便宜。即使不是这样,磁盘空间仍然比你的时间更便宜。
我不知道那个克隆正确的解决方案,但由于2个答案被提出,它是对大脑,所以我提供关于这一主题的修改。克隆可能不会便宜。在磁盘空间方面,这是无关紧要的,但其本身使克隆需要几秒钟,这就是太多的时间浪费在不必要的操作。作为替代方案,你可以简单地创建使用旧的git的工作目录新的工作目录。也就是说,如果您当前的工作目录是“一”(有改动和联合国上演文件),请尝试:
$ mkdir ../b $ cd ../b $ echo 'gitdir: ../a/.git' > .git $ git checkout -f foo
现在,b是有效的克隆,分支FOO,和你有两个工作目录一起玩。你需要什么就分支FOO在工作目录B,然后回去和结帐你是在你离开时的分支。
不隶属于 StackOverflow