You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* what the different packages in the codebase are for
21
-
* where important files live
22
-
* important concepts in the code
23
-
* how the event loop works
24
-
* other useful information
20
+
21
+
- what the different packages in the codebase are for
22
+
- where important files live
23
+
- important concepts in the code
24
+
- how the event loop works
25
+
- other useful information
25
26
26
27
## All code changes happen through Pull Requests
27
28
@@ -38,15 +39,26 @@ Please do not raise pull request from your fork's master branch: make a feature
38
39
39
40
If you've never written Go in your life, then join the club! Lazygit was the maintainer's first Go program, and most contributors have never used Go before. Go is widely considered an easy-to-learn language, so if you're looking for an open source project to gain dev experience, you've come to the right place.
40
41
42
+
## Commit history
43
+
44
+
We value a clean and useful commit history, so please take some time to organize your commits so that they make sense. Don't assume that they will be squashed on merge anyway; we don't do that here.
45
+
46
+
In particular:
47
+
48
+
- Refactorings and behavior changes should be in separate commits. There are very few exceptions where this is not possible, but in my experience they are very rare.
49
+
- Strive for minimal commits; every change that is independent from other changes should be in a commit of its own (with a good commit message that explains why the change is made).
50
+
- When you need to iterate over your implementation during review (e.g. because you discovered a bug, or a maintainer requested changes), don't just pile new commits on top. Use fixup commits to make your changes transparent while still maintaining a good commit history. If you don't know what that means, [here's a brief introduction](docs/Fixup_Commits.md).
51
+
41
52
## Running in a VSCode dev container
42
53
43
54
If you want to spare yourself the hassle of setting up your dev environment yourself (i.e. installing Go, extensions, and extra tools), you can run the Lazygit code in a VSCode dev container like so:
0 commit comments