在我们公司(Windows域网)中,我们的开发人员使用GIT作为其版本控制软件。
主存储库(如果可以调用它)每天备份(从备份服务器获取+克隆)
我希望每天备份我的用户的GIT本地文件夹(在提交之前)。
我原以为我可以从上次获取/提交中获取最后的更改,并且只保存/备份已更改的文件。
有可能吗? 我怎样才能为整个组织做到这一点? (我想要一个每天都会启动的自动脚本)
我想避免一种情况,即开发人员工作了几天(无法提交工作) - 并因灾难而失去工作。
答案 0 :(得分:1)
您无法从上游仓库获取/克隆未跟踪的数据(请参阅“Pushing untracked content with git”)
这意味着您无法集中启动该备份过程。
您可以将脚本分发给用户,这些脚本将rsync或scp将其回购到共享中心路径
另一种解决方案是使用git archive
或git bundle
,但用户会添加隐藏他/她正在进行的工作(可能包括未跟踪的文件,但恢复将能够区分分阶段和git stash pop
)未经跟踪的更改。
我想避免开发人员工作几天(无法提交工作)的情况
如果您想要获取/克隆用户仓库,那么他们必须定期提交。
不要忘记这不是SVN:开发人员可以创建他/她自己的dev
分支并在其中提交,即使代码没有编译/不通过测试。在这方面,dev
是一个私人分支,仅用于记录开发人员的日常进度
只有公共分支机构(他/她想要推送的分支机构)应该只包含“干净”的提交。