Selectively commit changes to a file using the Git integration in IntelliJ IDEA. Split unrelated changes into separate commits.
Foojay Podcast #26: The Future of Source Control and CI/CD
We have seen evolutions from CVS to Subversion to Git. Is this the endpoint? Did we find the holy grail? What evolutions are waiting for us?
Why I prefer trunk-based development
Trisha summarizes the advantages of trunk-based development (as opposed to branch-based development) in this article.
Cherry-Pick: Move a Commit to a Different Branch
Moving a commit to a different branch: not nearly as scary as it sounds! Let the IDE help to turn this into a quick, low-stress task.
Resolving Git Merge Conflicts in IntelliJ IDEA
At some point in your career, probably many points, you’ll have to resolve merge conflicts. A common cause of merge conflicts is when you’re working on a feature branch…
Using Git Interactive Rebase
Learn how to clean up your Git commit history with Git interactive rebase, both via IntelliJ IDEA and from the command line.
Git Archeology: Go Back & Forward in Time
Most people will start with using “git blame” (or the respective functionality within their IDE/editor).
But on most non-trivial projects, you usually end up with a refactoring commit, a rename, or a trivial cross-project fix like switching to another assertion library. At first glance, we only see the most recent changes, not the most important ones.
We need to carefully remove layer by layer of sand and dirt that has been swept over the real changes to unearth them.
Updating Data Files: Commits vs. Pull Requests?
I decided to switch to an alternative approach in GitHub Actions.
Instead of committing, I updated the script to open a Pull Request. If I need to run the demo, I’ll merge it (and pull locally); if not, it will stay open. If an opened PR already exists, the action will overwrite it.
Now, I can schedule the action more frequently.
IntelliJ IDEA Changelists and Git Staging
Since the release of IntelliJ IDEA 2020.3, there are now two ways to manage your commits to Git.
The first one is with IntelliJ IDEA Changelists and the second is with Git staging.
This blog will take you through both approaches and highlight the differences.