清理git历史记录,vs分支备份
在过去的几天里,我经常接触git,我想我已经了解了git如何工作以及如何拥有一个干净的工作流程。但我还有一个“问题”或一个问题需要理解: Git rebase改变了历史。因此,在远程分支上使用它是不好的。是的,有git push--force,但是当其他人在远程分支上工作时,不应该使用它 这就是我的问题!远程存储库的好的一面是,您总是有您的工作的备份,并且如上所述,其他人也可以使用它。因此,对于项目的每个大特性,将master拆分为分支是一件好事,因为3个人可以处理origin/feature/,2个人可以处理origin/feature/等等。在最后将这些特性与origin/master合并(合并提交时是的)是完全正确的,并且可以查看最后的历史记录,查看哪个特性进入了项目的哪个版本(在master上标记了提交)。但每个分支下的级别如何 假设有3个人在功能1上工作,2个人在用户控件上工作。现在,人员A开始工作,遵循工作流程,并拥有其本地分支机构。现在,用户控件是一个更大的事情要做,在他的工作日内,他无法芬兰语,他的代码是无法构建的。B个人将继续A个人所做的事情,但是把不可构建的东西推到遥控器中是不好的 在这种情况下,我面临的困境是: 您有以下几种可能性:清理git历史记录,vs分支备份,git,git-merge,git-rebase,git-workflow,Git,Git Merge,Git Rebase,Git Workflow,在过去的几天里,我经常接触git,我想我已经了解了git如何工作以及如何拥有一个干净的工作流程。但我还有一个“问题”或一个问题需要理解: Git rebase改变了历史。因此,在远程分支上使用它是不好的。是的,有git push--force,但是当其他人在远程分支上工作时,不应该使用它 这就是我的问题!远程存储库的好的一面是,您总是有您的工作的备份,并且如上所述,其他人也可以使用它。因此,对于项目的每个大特性,将master拆分为分支是一件好事,因为3个人可以处理origin/feature/
但把它推到一个正在工作的分支机构,在那里它有望成为一项正在进行的工作,这并不是世界末日:你可以继续在这方面进行合作 为您的本地提交()自动重新设置基础。
重新设置子特性的基址(并强制推送它)是可以的,只要需要使用同一分支的任何其他方都希望这样做 B个人将继续A个人所做的事情,但是把不可构建的东西推到遥控器中是不好的 仅当远程分支预期是可构建的时 例如,在master中推送不可构建的代码是错误的。
但把它推到一个正在工作的分支机构,在那里它有望成为一项正在进行的工作,这并不是世界末日:你可以继续在这方面进行合作 为您的本地提交()自动重新设置基础。
重新设置子功能的基址(并强制推送它)是可以的,只要需要使用同一分支的任何其他方都希望这样做。我喜欢这样说:如果使用该名称的每个人都事先同意以这种方式使用该名称,则重新设置基址是可以的。因此,在私人回购中,重新设定基准是可以的,因为你只需要与自己达成一致。但在公共回购中,如果其他所有人都同意该分支机构将被重定基期,那么这也没关系,因此知道该分支机构将被重定基期,以及当它发生时如何处理。我喜欢这样说:如果所有使用该名称的人都事先同意以这种方式使用该名称,则重定基期是好的。因此,在私人回购中,重新设定基准是可以的,因为你只需要与自己达成一致。但在公开回购中,如果其他所有人都同意该分支机构将被重定基期,并且因此知道预期情况以及发生时如何处理,也可以。因此,基本上这三个选项都可以,并且取决于团队决定执行的工作流程?所以没有第四种选择?@Apahdos我不知道。所以基本上这三种选择都是可以的,取决于团队决定执行的工作流程?那么就没有第四种选择了?@Apahdos我不知道。