背景:
我们目前在我正在开发的网络应用程序中使用 git 进行源代码管理。有一个编辑器,因此也有一个 git 的 Web 界面。
我们的一个用例是人们还可以从命令行管理他们的 git 存储库,因此网络界面需要能够以某种方式处理它发现存储库的任何奇怪状态。
问题:
为了进行测试,最好能获得一个包含处于各种可能状态的文件的 git 存储库,这样我就可以验证是否处理了所有可能的情况。读书"man git-status(1)"我计算了一个文件可能处于的 24 种状态(不算被忽略)。
我只知道如何创建其中的 17 个状态。
这是 XY 代码(参见 git-status),我不知道如何重现这些状态。
D M deleted from index
C [ MD] copied in index
D D unmerged, both deleted
A U unmerged, added by us
U A unmerged, added by them
有一个gist on github使用创建我已经知道如何重现的每个状态的 ruby 脚本,我很乐意使它完整。
最佳答案
通过将这个问题发布到 git 邮件列表,我得到了七个代码中的四个的答案,经过@torek 的调查,现在这个问题有了一个完整的答案,虽然我不太清楚如何在 stackoverflow 中反射(reflect)这一点。
您可以阅读 git mailing list discussion有关详细信息,但简短的回答是,根据@torek 提供的信息,git 命令行工具的普通用户无法访问我无法重现的任何状态组合。
关于git - 我如何生成所有可能的 git-status?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22792906/