我想知道在离线状态下(未连接到服务器),使用GIT本地提交(commit命令)相对于在SVN中只保存更改到工作目录有何优势。我已经了解到GIT的一个优点是可以离线工作,即用户可以本地多次执行提交,然后在连接到服务器时将更改推送到远程服务器。但如果commit命令仅仅是将更改提交到本地磁盘,这与SVN在离线状态下将更改保存到磁盘并没有什么不同(并未提交到项目分支)。我喜欢GIT,但我无法理解这种差别。请帮助我!谢谢,Nayan
cp -R
或robocopy /e
复制您的工作副本,以便在磁盘上有已知的好版本。您甚至可以按顺序提交它们,尽管通常需要移动.svn
目录以避免在第二个和后续WC副本的更新之前提交时出现冲突。但是,这并不需要太多的努力,尽管比git更费力。 - Rupcp
或 robocopy
并不是一个真正的 "SVN" 解决方案,它只是使用另一个工具来解决 SVN 选择不处理的问题,正如你所指出的,可能需要一些调整才能避免问题。Git 的替代方案通过仅存储更改文件的差异而使用更少的空间,而不是复制整个项目。此外,它将所有数据都保持在逻辑位置上,而不是在磁盘上的任意其他文件夹中。 - raveturned提交并不是将文件保存到磁盘,你不需要任何版本控制软件来完成这项工作。
在版本控制中,提交意味着将文件的新版本保存到历史记录中,以便您可以记录和恢复不同的状态。然后 Git 和 SVN 的不同之处在于,在本地执行此步骤而无需与远程服务器进行通信。
使用 SVN 的离线模式时,您无法发出任何提交,因此您的工作历史记录没有被记录下来,虽然它已经保存到本地磁盘。但对于 Git 来说,情况并非如此。
我能想到的: