• 10 Posts
  • 33 Comments
Joined 2 years ago
cake
Cake day: June 11th, 2023

help-circle




  • Unless you need a “stable” version of your in-development work I wouldn’t split parts of it into branches.

    Use branches to draft and explore changes, and merge them when they’re accepted into the baseline draft/current state.

    Don’t be afraid to merge “better than before but not final or complete or conclusive” work. You’re trying to evolve, not construct final parts to combine. They won’t ever be final.












  • Kissaki@programming.devtoGit@programming.devGit Commit Creation
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    8 months ago

    Given that it is high level, I assume you did not want to include this. I’ll mention it here in a comment either way. Text form in the commit message.

    I really like using conventional commit messages and introduced it in my projects. We defined a few types, and more leniently choose optional scopes. It’s very useful for categorizing and skimming through commit lists, and for generating changelogs/release notes. `fix(account): Use correct hasing xy"

    Consistent imperative form is important to me too. The commit message examples talks about “Summary of changes”, which has no verb, and so, may mislead to a different undesirable form of summarizing changes. (“Change xy” instead of “changed xy” or “[now] does xy [at runtime]” or “did z”.)

    I didn’t fully read it, only skimmed, so excuse me if I missed mentions of the commit message text form. It seems very elaborate otherwise.





  • They wrote they’re using . as placeholder commit messages.

    I use f for such [f]ollowup/[f]ixup commits, and a for [a]dditional code/components/changesets. Both keys are trivial to enter. When cleaning it up after, f commits are typically squashed into previous ones, and a commits get a description and/or serve as a base for squashing.

    I can see . working well as well, but having a more obvious character (with vertical height/substance) seems preferable.




  • How did it change how I think about version control? Not much? The goals are still the same. It only does many things better than previous centralized tools.

    When DVCS came up and became popular, I used Git and Bzr.

    At work, we used subversion. In one project, we had one SVN repository in our office and the customer had one in their office. A colleage had created a sync util. We regularly synced all history into an external hard drive, drove to the customer, and merged it there. Required a thorough and checklist process, potentially conflict resolution, and changelog generating for the big merge commit. Then drive back to the office, and merge back there.

    Of course sometimes you used remote desktop to hotfix changes in their code base. Meaning you’d now have the change in two places as different commits.

    Anyway, I’ve never found Git difficult. I used it, learned and understood it, and it’s consistent. I know enough “internals”/technical details to understand and use it well and without confusion.