5 git version-control mercurial
是否可以在git或mercurial中创建一个不可见的分支,我可以用作备份?例如,在一天结束时,我有未完成的工作(甚至可能留下语法错误),但我希望它在网上存储库中备份,而不会让其他人讨论剩下的混乱.
默认情况下git clone,git fetch/merge只在refs/heads/*中下载引用.所以你推送到其他地方的任何东西都不会被其他人下载(除非他们明确地要求他们或做类似的事情git clone --mirror).所以,例如,你可以这样做:
git push origin HEAD:refs/koen/my_work
Run Code Online (Sandbox Code Playgroud)
推送你当前的提交.使用完整的refspec,您也可以从另一个结帐中提取它:
git pull origin refs/koen/my_work
Run Code Online (Sandbox Code Playgroud)
要自动推动你的HEAD,你可以做类似的事情
[remote "origin"]
url = git@github.com:pieter/gitx.git
push = :
push = refs/heads/*:refs/koen/*
Run Code Online (Sandbox Code Playgroud)
这将把你所有的分支推到遥控器而不会打扰其他任何人.它还将保留您习惯的默认推送行为.如果您不想这样,请删除该push = :行.