unix 本地github备份

exdqitrt  于 2022-11-23  发布在  Unix
关注(0)|答案(2)|浏览(181)

我正在尝试将本地git repo备份到服务器上的另一个位置。我看过很多关于将github备份到云端或者将githu托管的github repo备份到本地的帖子和文章。这里,我只是尝试将本地服务器上的git repo备份到服务器上的另一个位置。这是一个unix服务器。

slmsl1lt

slmsl1lt1#

有一个非常简单易用的python工具,它可以通过保存公共和私有存储库及其所有分支,自动以.zip格式备份组织的存储库。它与Github API配合使用,如果你想从github重新下载服务器上的存储库,这个工具将非常有用:https://github.com/BuyWithCrypto/OneGitBackup

8dtrkrch

8dtrkrch2#

使用本地克隆与使用远程克隆非常相似。作为此类“远程”的“url”,您可以使用文件系统路径。
假设您的项目位于/path/to/repo1,并且您希望在/backups下创建备份。
以下是一种方法:

cd /path/to/repo1
git clone --bare . /backups/repo1.git
git add remote backup /backups/repo1.git
git push backup

这将在/backups/repo1.git创建一个空仓库,它是原始仓库的完美克隆。

cd /path/to/repo1
git push backup

然而,由于原始存储库“知道”它的备份,当您执行git branch -r时,它将在backup远程存储库上显示重复的分支,这可能太混乱了。
另一个道:

git init --bare /backups/repo1.git
cd /backups/repo1.git
git remote add origin /path/to/repo1
git remote update

这样,备份就可以识别原始存储库,而不是相反。您可以使用以下命令更新备份:

cd /backups/repo1.git
git remote update

相关问题