私有mercurial/git分支备份?

5 git version-control mercurial

是否可以在git或mercurial中创建一个不可见的分支,我可以用作备份?例如,在一天结束时,我有未完成的工作(甚至可能留下语法错误),但我希望它在网上存储库中备份,而不会让其他人讨论剩下的混乱.

Pie*_*ter 7

默认情况下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 = :行.


Loï*_*lff 0

这并不是 SCM 的真正目的。也许像rsync这样的东西将其上传到服务器会是一个更好的主意?