如何在git中备份私有分支

Art*_*Art 48 git merge workflow rebase dropbox

我有一个本地分支,用于git中的日常开发工作.我的工作流程是:

  1. 在local_branch上做一些事情,提交
  2. 获取origin/master
  3. 重新定位local_branch以赶上来自origin/master的新东西

这一切都运行正常,但我遇到的大多数建议都说不应该"推"私人分支,定期执行rebase.

这里的问题是,在这种情况下,本地分支不会备份到服务器,保存工作的唯一方法是将其合并回"pushable"分支(即origin/master)

在这种情况下,您对工作流程的建议是什么?

谢谢!

更新:我意识到我有一个原始要求(避免使用外部实用程序)是不必要的限制.

我目前的解决方案是将所有存储库存储在云同步文件夹中 - 这样我就可以免费获得备份.

Pat*_*otz 50

我使用--mirror选项并推送到个人备份存储库:

将其添加为远程:

git remote add bak server:/path/to/backup/repo
Run Code Online (Sandbox Code Playgroud)

做备份:

git push --mirror bak
Run Code Online (Sandbox Code Playgroud)

这将自动使您的备份存储库看起来像您的活动存储库 - 将根据需要创建,删除,更新(甚至强制/非快速)分支.您也可以为此创建别名:

git config alias.bak "push --mirror bak"
Run Code Online (Sandbox Code Playgroud)

然后,当你想要进行备份时,只需要运行"git bak"即可.你也可以把它扔进一个cron工作.


Dan*_*ing 5

另一种选择是将“ local_branch”推送到“原始”存储库,但推送到该存储库中它自己的分支(不是“ master”),即:

git push origin local_branch:local_backup

然后,当您准备进行另一个备份时(在进行了一些工作并重新设置基础之后),只需从源存储库中删除备份分支,然后再将其推出即可:

git push origin :local_backup <===从原点删除分支

git push origin local_branch:local_backup

这样,在将“ local_branch”从“ origin / master”重新建立基础后,您在推送“ local_branch”时不会遇到问题。

而且,如果删除备份分支使您感到不安(直到您最终将工作提交给“ master”之后),您就可以始终使用新名称(例如“ local_backup1”,“ local_backup2”等)继续推送到新分支。


Fel*_*peC 5

推动个人分支没有错。通常不建议这样做,因为人们可能会根据您的分支机构开始工作,而当您重新设定基准时,他们的更改将保持浮动。

我要做的是使用前缀来表示“这是我的分支,使用它需要您自担风险”,例如:fc-general-cleanup