Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git备份vs SVN_Git_Svn_Backup_Tortoisesvn_Tortoisegit - Fatal编程技术网

Git备份vs SVN

Git备份vs SVN,git,svn,backup,tortoisesvn,tortoisegit,Git,Svn,Backup,Tortoisesvn,Tortoisegit,我是Git新手,但我在SVN方面有一些经验 我想将我的项目备份到另一台计算机上(例如我的) 在SVN中有一个带有分支和标记的项目,当然还有主干。 示例url:https://svn.example.com/project 当我签出它时,我可以有一个项目的完整副本,带有标签、分支等,这样我就可以压缩所有内容并每天在另一台计算机上备份 Git上是这样的吗?我试过了,但是我不能同时拥有所有的代码,但是我可以通过切换/签出来拥有每个部分。 我在用乌龟 如果你有其他的解决办法,请告诉我 提前感谢。Git

我是Git新手,但我在SVN方面有一些经验

我想将我的项目备份到另一台计算机上(例如我的)

在SVN中有一个带有分支和标记的项目,当然还有主干。 示例url:
https://svn.example.com/project

当我签出它时,我可以有一个项目的完整副本,带有标签、分支等,这样我就可以压缩所有内容并每天在另一台计算机上备份

Git上是这样的吗?我试过了,但是我不能同时拥有所有的代码,但是我可以通过
切换/签出
来拥有每个部分。

我在用乌龟

如果你有其他的解决办法,请告诉我


提前感谢。

Git与Subversion的工作方式不同。在Subversion中,标记和分支实现为不同的路径。在Git中,分支和标记不是不同的路径,而是特定版本(及其所有历史记录)的标签/句柄

为了进行完整的备份,在Git中复制/备份整个工作树(或者克隆到一个裸存储库以节省空间,因为这样就不需要签出,或者将更改推送到远程存储库,例如GitLab/GitHub上)就足够了


每个Git存储库总是(在正常情况下)包含所有历史记录。这是可行的,因为Git是一个分布式VCS,基本上所有存储库都是平等的,没有一个是特殊的(比如在Subversion中)。没有中心位置(有时一个位置被定义为中心交换位置,但这不是必需的)。

我将项目推送到GitHub私有存储库中,但还有另外两个用户,如果其中一个用户完全删除了项目,我将失去关于项目的一切。所以我想每天在另一台电脑上复制一份这个项目。我检查了
Git bundle
命令,无法获得项目的完整备份,它只给了我master。我的命令:
git bundle create repo.bundle HEAD master
工作树的副本将为您提供完整副本。也许您需要在TortoiseGit日志中启用“显示所有分支”以查看所有分支。查看参考浏览器。只有在获取并删除本地远程跟踪分支时,才会丢失项目信息。否则,即使在github上删除了项目或远程分支,它们仍将存在于本地克隆中。顺便说一句,实际上,
git bundle create repo.bundle HEAD master
只备份
master
和当前签出的分支,你知道为什么我会感到困惑,因为代码大小是4GB,但在Git中只有134MB,我觉得有点不对劲。但是,我检查了ans,发现134MB是所有代码历史记录(我所需要的全部)。