提交不编译成分支的更改

时间:2014-08-14 12:32:53

标签: git svn github branch commit

假设您有两个非常接近彼此的任务。 它们都迫使你做出重大改变(例如,方法的签名)。

第一个任务进行了更改B和A.第二个任务进行了更改C和A.

因此,如果你提交B而没有A代码将无法编译,如果你同时提交B和A,你将完成一个双重工作,因为A将在第二次提交时重新编译。

所以有一个两难的境地:

1)将它们都变成一个提交;

2)创建一个分支,第一次提交将无法编译;

3)将它们分成单独的提交,但要做一份双重工作。

如果我的解释不清楚,则有一个较短的版本:

提交代码会使编译失败成分支(或本地提交)是一种不好的做法吗?是否所有修订(包括分支中的修订)都能够无错编译?

1 个答案:

答案 0 :(得分:0)

这取决于项目,流行做法和代码行数,因此绝对是基于意见的。

如果我是提交更改的人(通常是Python),我会尝试确保我提交代码的工作副本,并且没有一些短暂的部分。

也就是说,在实践中,通常可以在数百行中的多个文件中找到更改,并且提交每个主要代码块,使用git tag标记工作副本是一个很好的策略,并且将标记专门用于部署。理由是,对于一个重大变化,在一个小地方搞砸就足以让你花费大量的调试时间,你可以花费在开发上。