我使用 Pycharm 以探索性的方式参与了一个大型私有(private) Python 项目几个月。 我使用 git 来跟踪该项目中的更改。 我是唯一为该项目做出贡献的人。
通常,我大约每天对该项目进行一次更改。
现在我想在每次执行代码时跟踪代码的更改(背景是我有时会迷失使用哪个版本的代码实现了哪个中间结果)。
因此,我想在脚本执行结束时对所有更改的文件执行 git
提交。
由于现在每个提交都只会收到一条“技术”提交消息,因此我想将这些“技术”提交与我大约每天一次的其他提交区分开来(见上文)。背景是我还是想看看和比较一下彼此日常的差异。每天的技术提交可能会达到几十个,并且会阻碍我看到随着时间的推移发生的重大变化。
git
提供哪些技术来区分技术提交和我所做的日常提交?
分支可能是一种有效的方法吗?如果是的话,我稍后会删除这些分支吗? (我是git新手)
最佳答案
是的,你可以使用一个分支。只需在执行脚本自动提交时使用工作分支,然后当您想要提交历史记录时,切换到主分支。
要重新添加最终更改作为单个提交,一种方法是在完成更改后软重置历史记录。所以你会:
git reset prev-real-commit
这会将历史记录跳回到新一批 wip 自动提交之前,但不会触及文件,因此您不会丢失工作。然后您可以正常地为更改进行新的提交。
该技术在没有分支的情况下也适用。不过,使用分支可能仍然不错,因此您可以在新的 wip 提交之前轻松检查版本是什么。
Git 还具有 rebase 功能,可以将多个提交压缩为一个并重写消息。但对于您描述的工作流程,我认为简单地重置自动提交并重做正常提交会更好。
另外,在自动提交消息中添加一些标签的建议也很好。
也就是说,我通常只提交正常开发流程中所需的检查点。进行提交可能会更好,例如每小时一次,而不是每天一次。小原子提交是好的。如果您想记录和管理更大的整体工作,可以使用功能分支和 GitHub pull 请求。
关于python - 如何区分git中的几个小变化和日常变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64325878/