你如何在 "solo-development" 中使用 git(没有团队)?

How do you use git in "solo-development" (without team)?

我作为自由职业者从事小型项目,所有项目都是我一个人完成的,没有团队。

我尝试使用 Git 流程。起初,一切都很好。有功能分支,具有有意义描述的小提交,合并。

但是这个过程总是以直接向 master 分支的大量提交结束,描述如 "big update"、"some update".

你是怎么处理的?我是否需要 Git Flow?

我想这是纪律问题。

对我来说,拥有描述它们包含的确切更改的小提交非常有用。我在与团队合作的工作环境中使用此流程,但也用于我作为业余爱好或业余项目所做的项目。

如果你有一个图形化的UI,它会有所帮助。我使用 Atlassian SourceTree,这使得对行进行 select 更改变得非常容易。所以有时我已经编码了一段时间,做了很多更改,我仍然会一个一个地进行,并提交每个更改并提供有用的消息。

但最好一次进行一项更改,验证它是否有效并提交。如果你经常犯错,那么如果你犯了一个大错误,你总是可以回过头来。

就我个人而言,我不使用 git 流程的开发、发布和其他动词,尽管我确实为我开发的不同功能创建了单独的分支。这让我可以在更改正在进行时将其搁置一旁,并提出单独的拉取请求(这在团队中可能更有用)。

But the process always ends with enormously large commits direct to master branch, with descriptions like "big update", "some update".

这就是 git rebase --interactivegit add --patch 的用途。

这是你要做的第一件事:你必须让自己变得疯狂。不,两个疯子,每个人都相信对方是另一个人。不,等等,那是不对的。 三个个疯狂的人。

您已经认识了(目前神志正常的)您,他完成了这项工作并且对此没有其他可说的。所以:让你疯狂和理智的历史的第一步是你这个新的(但纯粹是虚构的片段)代码审查者,在她看到提交消息和补丁之前,她对你所做的更改一无所知。你需要尊重那个人的时间。第三部分是 the rubber duck,将其从有用的怪癖转变为全面的疯狂。这是一个悬而未决的问题,无论是随身携带一只真正的橡皮鸭,还是仅仅拥有一个恰好是橡皮鸭的想象中的红颜知己,都更会扰乱他人的现实感(更不用说你自己的了)。

所以,两个疯子和一只鸭子。

如果橡皮鸭看不懂你的解释,或者审阅者看不懂你的代码,那就简化到他们能看懂为止。将提交分解为独立的部分,这些部分不会破坏构建,也不会让审阅者或鸭子想知道为什么每个部分中的所有内容都需要存在以保持一切正常。

看,如果你把它设置为做正确的事具有巨大的娱乐价值,世界就会变得美好。如果你不这样做,相比之下至少会令人不愉快和无聊。唯一不这样做的时候是当你已经感觉到你将多么需要在几个月内正确完成这些事情时,那只是浪费时间。但如果你要失去它,请确保你能得到更有价值的东西作为交换。

不管你玩不玩,rebase 和 add 都是必要的。