Git 如何在提交中处理非编译代码状态?

Git 如何在提交中处理非编译代码状态?,git,version-control,commit,Git,Version Control,Commit,我目前正在将一个更大的项目从一个游戏迁移到另一个游戏引擎。很多事情都需要调整,但大部分代码本身都可以保持原样 迁移包括多个不同的步骤,比如扩展不同的基类,或者用新引擎中的基类替换方法调用。我通常会多次提交的内容 我知道,提交一些不会编译到VCS中的内容是一种不好的做法,因为您创建了一个稍后无法安全返回的点,因为它已被破坏,但我还希望将所有迁移步骤分开,而不是进行一次非常大的提交,包含所有内容 你会如何处理这种情况?@zebediah49这个主意听起来不错。你会保留分离的分支,还是在将更改合并到m

我目前正在将一个更大的项目从一个游戏迁移到另一个游戏引擎。很多事情都需要调整,但大部分代码本身都可以保持原样

迁移包括多个不同的步骤,比如扩展不同的基类,或者用新引擎中的基类替换方法调用。我通常会多次提交的内容

我知道,提交一些不会编译到VCS中的内容是一种不好的做法,因为您创建了一个稍后无法安全返回的点,因为它已被破坏,但我还希望将所有迁移步骤分开,而不是进行一次非常大的提交,包含所有内容


你会如何处理这种情况?

@zebediah49这个主意听起来不错。你会保留分离的分支,还是在将更改合并到main中后将其删除?E:尝试了我的建议,但效果不太好,因此修订:我会在一个分支中执行所有这些操作,然后将其合并回master。这最终会将其纳入历史,但这应该可以吗?或者,您可以保留该分支,但在主版本中将其压缩为一个monster commit,注意更多细节,请参见branch foo。这将确保,比如说,git bisect不会让您进行未编译的提交。