首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >GIT克隆到外部驱动器以进行备份

GIT克隆到外部驱动器以进行备份
EN

Stack Overflow用户
提问于 2009-12-11 19:10:24
回答 5查看 11.3K关注 0票数 20

我们已经在windows网络中设置了GIT (使用msysgit和GitExtensions)。我们每个人都有自己的存储库,我们推送到我们其中一台服务器上的远程“裸”存储库。一切都很好。

我正在尝试在服务器上设置一个计划的作业,它将从C驱动器克隆一个存储库到一个外部驱动器(在F驱动器上)-让它工作有一些困难。我可以在GIT bash中相对容易地做到这一点,但我不确定如何将其保存到批处理文件中,然后我可以设置。

到目前为止,我所拥有的:

代码语言:javascript
复制
rmdir F:\GitClone /s /q
mkdir F:\GitClone
mkdir F:\GitClone\Repo1
CD /D F:\GitClone\Repo1\
GIT CLONE /c/GIT/Repo1/

对于最后一行,我还尝试了以下命令:

代码语言:javascript
复制
GIT CLONE C:\GIT\Repo1\

但这也行不通。我有点迷惑了,希望能帮上忙。C驱动器包含我们的空存储库,F驱动器是我们每天交换的外部驱动器……

这里有几个非常有用的答案,谢谢。我得到的答案可能是这些的组合,因此指出了如何运行bash脚本以及如何编写拉/推脚本。

我需要把它们放在一起工作,这样当不同的驱动器被换入和换出时,它都会很高兴(即,如果外部驱动器上不存在存储库,则克隆该存储库,否则只提取差异),但这应该是可行的。感谢所有人。

EN

回答 5

Stack Overflow用户

发布于 2009-12-11 19:21:04

您可以随时安排bash.exe mybashbackupscript.sh

无论如何,在windows术语中:

代码语言:javascript
复制
rmdir F:\GitClone /s /q
mkdir -p F:\GitClone\Repo1
copy c:\GIT\Repo1\.git F:\GitClone\Repo1\.git

git clone实际上不会做比这更花哨的事情。

编辑:正如其他人指出的那样,最好是创建一个新的备份存储库,然后直接拉/取进去。您将避免.git的任何访问问题:)

票数 4
EN

Stack Overflow用户

发布于 2009-12-11 19:29:13

因为git命令有点奇怪,所以你必须使用call来执行批处理文件中的任何git命令:

代码语言:javascript
复制
rmdir F:\GitClone /s /q
mkdir F:\GitClone
CD /D F:\GitClone\
call GIT CLONE c/GIT/Repo1/
票数 4
EN

Stack Overflow用户

发布于 2009-12-11 19:32:00

对不起,我不能评论帖子,但我也在考虑复制.git,但如果.git在拉取过程中被复制会发生什么?

不管怎样,为什么要复制所有的东西,因为你可以时不时地获取增量?

备份初始化:(在F:\GitClone\Repo1 empty中)

代码语言:javascript
复制
git init
git add remote origin /c/GIT/Repo1

那么你的“增量备份脚本”就会:

代码语言:javascript
复制
cd /f/GitClone/Repo1
git fetch origin
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1887364

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档