在推送之前的几天内处理多个文件的良好git实践是什么

在推送之前的几天内处理多个文件的良好git实践是什么,git,Git,我有一个项目,需要编辑/编码的多个文件,这需要多天才能完成。每天结束时,我将在多个文件中完成未完成的更改,这些更改需要在第二天继续 我当前的工作流程是,每次提交相同的提交(首先提交-->推送,然后git amend-->强制推送),在我可以进行最终PR之前。当我完成任务时,我重置了那个巨大的提交,然后将它分解为多个小的提交。然后我做我的公关 然而,我不确定这是否是一个好的工作流程,但我不太确定如何改进。最好的方法仍然是制定一个清晰的可执行计划,并按照计划逐项完成任务。然而,我个人的工作风格是,我

我有一个项目,需要编辑/编码的多个文件,这需要多天才能完成。每天结束时,我将在多个文件中完成未完成的更改,这些更改需要在第二天继续

我当前的工作流程是,每次提交相同的提交(首先提交-->推送,然后git amend-->强制推送),在我可以进行最终PR之前。当我完成任务时,我重置了那个巨大的提交,然后将它分解为多个小的提交。然后我做我的公关

然而,我不确定这是否是一个好的工作流程,但我不太确定如何改进。最好的方法仍然是制定一个清晰的可执行计划,并按照计划逐项完成任务。然而,我个人的工作风格是,我更喜欢自发一点,快速地从一个地方跳到另一个地方


当你处理一个更大的任务时,你的git工作流程会是什么?因为某些原因,这个任务只需要跨越几天,然后进行一次大的公关,而不是分成几个小的公关?请给出建议。

您应该压缩提交,而不是反复修改同一个提交。即使你一开始做得很草率,如果你是一个完美主义者,你也可以回去用
git-rebase-i
编辑你的历史记录

这是3次提交时的情况,您希望将第3次提交压缩为第一次提交。当您第一次运行
git-rebase-i
时,它将显示如下内容:

pick some_hash1 1st change
pick some_hash2 2nd change
pick some_hash3 3rd change
编辑该文件,使其显示以下内容:

pick some_hash1 1st change
squash some_hash3 3rd change
pick some_hash2 2nd change

然后关上它。您可能需要进行一些修复并运行
git add-A&&git rebase-continue
,但这非常直观。

几十年的研究和经验导致您拒绝实践,因为它们不适合您的“个人工作风格”,但您需要关于如何改进工作流程的建议吗?我真的不知道该怎么说。你应该压缩提交,而不是一遍又一遍地修改同一个提交。即使你一开始做得很草率,如果你是一个完美主义者,你可以回去用git rebase-i编辑你的历史。@MatthewHinea,是的,这是一个很好的观点。“我应该这样做,”MatthewHinea说,但实际上壁球是按顺序进行的。那么,如果我做了一个关于主题a的承诺1,承诺2关于B,然后承诺3回到a,改变一些东西呢。如何将c1、c3压缩在一起,而将c2保留在一起?@J_yang您可以通过git rebase接口轻松实现这一点。只需重新排列这些行。在这种情况下,将c3行移到c1之后,并将“pick”更改为“squash”。谢谢您的输入。我开始使用挤压。:)这正是我不知道的一点,我们可以像这样重新安排提交。