可以推送非工作代码[git]

可以推送非工作代码[git],git,coding-style,branch,Git,Coding Style,Branch,我理解在本地提交不工作的代码是很正常的,一旦它工作了,挤压+推送。 然而,在非主分支上,为了与其他开发人员共享而推送一个不起作用的代码版本是可以接受的吗?在使用git时,应该始终有一个好的工作流,每个人都可以以一种良好的、结构化的方式进行合作。您的问题的一个例子是使用多个分支。我使用的工作流如下所示 主分支机构 主分支仅由项目版本中的工作代码组成。只有像project version 2.0这样的完整工作项目将提交到该分支机构,并推送到该分支机构 发展 development分支是您正在开发的分

我理解在本地提交不工作的代码是很正常的,一旦它工作了,挤压+推送。
然而,在非主分支上,为了与其他开发人员共享而推送一个不起作用的代码版本是可以接受的吗?

在使用git时,应该始终有一个好的工作流,每个人都可以以一种良好的、结构化的方式进行合作。您的问题的一个例子是使用多个分支。我使用的工作流如下所示

主分支机构
主分支仅由项目版本中的工作代码组成。只有像project version 2.0这样的完整工作项目将
提交到该分支机构,并
推送到该分支机构

发展
development
分支是您正在开发的分支。在这个分支上,
不工作
代码不是问题,因为只有这个分支用于开发,而主分支用于暂存和活动

您还可以选择在该分支上创建第三个分支,例如名为
bugs
,您可以
推送
提交
并处理
不工作的代码


通过使用这些工作流程,您可以将所有内容放在自己的位置并进行组织。

这是可能的,但请记住,一旦您推动公共分支机构,某人的工作可能会丢失。如果您可以与在同一分支上工作的其他开发人员协调强制推送,您可能会同意允许它,但请记住,失去工作的风险更高


这完全取决于您与团队安排的工作流程和规则。

我不能接受这样一个事实,即提交一个不工作的代码,提交应该是代码的快照

如果一个人接受提交代码的非工作副本,那么很难——几乎不可能——在代码中发现未来的回归

如果您想追溯您的步骤,找出哪个提交引入了某个bug,您会发现自己正在经历一些无法编译的提交


话虽如此,我甚至不能开始谈论一个推送非工作代码副本的人

我不确定是否有“正确的方法”(例如,不在主要位置,但在其他位置)。我更喜欢总是签入可编译代码。我使用补丁文件共享非工作更改

git diff>output.patch

patch-p0
注意它可能是p1。。。把这个从键盘上贴出来。如果补丁可能被卡住,我还将包括当前哈希,以便我知道它的区别。

不幸的是,没有正确的答案。对一个团队有效的东西对另一个团队无效。投票以主要基于意见的方式关闭。本地提交是编辑器撤消缓冲区的扩展。在探索其他方法使其工作时提交非工作代码非常方便。在临时“wtf我在这里做错了吗?”ref上把坏代码推给朋友的回购协议也不一定是件坏事。除非你计划重新设置提交,否则我不明白!如果您正在处理某个解决方案,并且在某个时刻您希望将其保持在非工作状态,那么不要提交它,并且无缘无故地将其保留在历史记录中,您可以始终隐藏当前状态而不提交它。但很明显,就像对原始问题的评论所说的那样,对于所有团队来说,都没有正确的答案,但在我的团队中,没有人提交非工作代码:)重置、重设基础、修改,git是一个完整的历史编辑器。创造对使用它的人最有用的历史。如果现在是你,历史就是一个替代品。如果你认为它已经准备好制作了,历史的工作,可发布的承诺安排为最大的清晰度。git不仅仅适用于生产代码,它至少也适用于在那之前出现的混乱部分,这就是我的设想,提交我的特性分支与同事共享,并在合并功能代码之前进行修改。然而,我和福泉有一些相同的担忧,这就是为什么我对这样做犹豫不决的原因。就目前情况而言,只有在我的团队感到满意的情况下,我才会开始采用它。