我正在尝试将本地git repo备份到服务器上的另一个位置。我看过很多关于将github备份到云端或者将githu托管的github repo备份到本地的帖子和文章。这里,我只是尝试将本地服务器上的git repo备份到服务器上的另一个位置。这是一个unix服务器。
slmsl1lt1#
有一个非常简单易用的python工具,它可以通过保存公共和私有存储库及其所有分支,自动以.zip格式备份组织的存储库。它与Github API配合使用,如果你想从github重新下载服务器上的存储库,这个工具将非常有用:https://github.com/BuyWithCrypto/OneGitBackup
8dtrkrch2#
使用本地克隆与使用远程克隆非常相似。作为此类“远程”的“url”,您可以使用文件系统路径。假设您的项目位于/path/to/repo1,并且您希望在/backups下创建备份。以下是一种方法:
/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创建一个空仓库,它是原始仓库的完美克隆。
/backups/repo1.git
cd /path/to/repo1 git push backup
然而,由于原始存储库“知道”它的备份,当您执行git branch -r时,它将在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
2条答案
按热度按时间slmsl1lt1#
有一个非常简单易用的python工具,它可以通过保存公共和私有存储库及其所有分支,自动以.zip格式备份组织的存储库。它与Github API配合使用,如果你想从github重新下载服务器上的存储库,这个工具将非常有用:https://github.com/BuyWithCrypto/OneGitBackup
8dtrkrch2#
使用本地克隆与使用远程克隆非常相似。作为此类“远程”的“url”,您可以使用文件系统路径。
假设您的项目位于
/path/to/repo1
,并且您希望在/backups
下创建备份。以下是一种方法:
这将在
/backups/repo1.git
创建一个空仓库,它是原始仓库的完美克隆。然而,由于原始存储库“知道”它的备份,当您执行
git branch -r
时,它将在backup
远程存储库上显示重复的分支,这可能太混乱了。另一个道:
这样,备份就可以识别原始存储库,而不是相反。您可以使用以下命令更新备份: