我正在使用一些air-gaped系统,作为部署的一部分,我需要将外部git存储库的源代码更新为Azure Devops内部部署的air-gaped存储库之一。第一次我提取源代码并执行以下操作。
git remote remove origin
git remote add origin <url to the air-gaped Azure devops empty repository>
git push -u origin --all
字符串
我想用新的源代码更改来更新它,但我不知道如何去做。我应该用更新源代码覆盖本地目录,然后像以前一样做吗?我只是不想把事情搞砸。在Azure devops中反复执行此操作的更好方法是什么?
2条答案
按热度按时间qqrboqgw1#
最好的方法是使用
git bundle create
。这将创建一个仓库包,您可以将其传输到远程计算机,并从其中获取,就像它是一个仓库一样。一旦您传输了归档文件,您就可以在bundle文件上执行
git bundle verify
,然后像平常一样简单地从它获取或拉取。jchrr9hc2#
如果你不需要文件历史记录--只需要特定提交或标签中的repo内容--那么
git archive
在这里可以很好地工作。从一个可以访问有问题的回购的系统,
字符串
这将在最新提交(
HEAD
)的完整存储库内容的命名位置(/path/to/USB/drive/repo.zip
)构建一个ZIP文件。您可以执行tarball(将.zip
更改为.tar.gz
)或使用特定的标记或提交(将HEAD
更改为标记名称或提交哈希)。