【发布时间】:2015-04-10 17:31:47
【问题描述】:
Git 没有办法备份工作副本。 (您可以使用 git commit,但备份会污染您的存储库。)所以我使用 git diff,但它与 Visual Studio 2010 (VS) 存在问题。有时,VS 将 C# 文件保存为 UTF-8,有时是 UTF-16LE。当 VS 将一个文件从一个文件切换到另一个文件时,git 补丁文件显示“二进制文件 a/path1/file1.cs 和 b/path1/file1.cs 不同”,并且 git apply 无法从补丁文件中恢复。最简单的解决方案是什么?
【问题讨论】:
-
Git 不是备份工具。您用于常规系统备份的任何内容有什么问题?
-
我从来没有说过 Git 是一个备份工具。许多人使用 git commit/push 来备份他们的工作副本更改。定期系统备份备份太多东西。我只想将更改备份到我的工作副本,因为我经常这样做。 “尽早保存,经常保存。”
-
我的意思是你正在尝试将 Git 用于它不应该做的事情。如果要进行备份,请使用备份工具。它们中的大多数都是非常可配置的;没有什么强迫你“备份太多东西”。
-
我从来没有说过解决方案必须是 Git 的一个特性。没有备份工具可以仅备份 Git 工作副本中未提交的更改和添加的文件。所以我开发了一个工具来做,放在这里:github.com/user7251/repo1/tree/master/BackupGitWorkingCopy
-
你建议我配置一个备份工具。我可以轻松配置什么备份工具来仅备份 Git 工作副本中未提交的更改和添加的文件?