我有很多分支,使用起来有点混乱。有时我不想完全删除分支,但我暂时不会处理它。在这种情况下,我采用了用 _ 前缀分支的约定。
所以如果我开始:
branch1
branch2
branch3
Run Code Online (Sandbox Code Playgroud)
当我完成了 branch1 但想要保存它的备份以防万一然后重命名为:
_branch1
branch2
branch3
Run Code Online (Sandbox Code Playgroud)
这在一段时间内运行良好,但我的工作区现在变得有点混乱。有没有办法在某处保存一个分支以便它可以被恢复,但是它不在正常的工作区中(就像它被删除了一样)?
将旧分支保存在单独的存储库中。
也就是说,如果您正在使用$HOME/myproject,请克隆您的存储库:
cd $HOME
git clone myproject myproject_archive
Run Code Online (Sandbox Code Playgroud)
现在,将存储库设置_archive为主存储库上的远程存储库:
cd myproject
git remote add archive ../myproject_archive
Run Code Online (Sandbox Code Playgroud)
现在删除所有“旧”分支myproject:
git branch -D _branch1
etc...
Run Code Online (Sandbox Code Playgroud)
一切准备就绪!您的分支继续存在于
myproject_archive存储库中,您现在可以轻松归档新分支:
git branch -m branch2 _branch2
git push _branch2 archive
git branch -D branch2
Run Code Online (Sandbox Code Playgroud)