| > Good developers engineer repetition away. Great developers share what they build. Hence Git Town. As someone who has engineered repetition away and shares what he builds, I agree, and admire your gumption. > intentionally designed as a low-level and generic tool. git is high level. and opinionated. It has branches and tags baked right in. Compare to SVN or CVS where the support is second class. > requires running many Git commands for each operation, and is highly repetitive. I run lots of git commands by hand, and can be pretty verbose in commit messages. I (sort of) try to follow this: https://chris.beams.io/posts/git-commit/ However, to speed things up, I will sometimes at shell prompt use `ctrl-r` and search history a bit, then `ctrl-e` to start scrolling in a line brought back up if I want to both 1. see what I committed last, and 2. get a head start on writing the commit message. I also find the staging workflow git has (another thing I personally consider high-level, purposeful, opinionated to git, and use regularly) to be very convenient. I can type `git status`, `git diff`, `git diff --cached` to see what's staged and unstaged. I can use `git reset` to unstage a file. Overall, I get more granularity on which files I want to add to that commit. This comes in really handing when reverting, merging and rebasing. So in my workflow, I don't want to give up control of these things. Apparently, while I don't use these features, `git bisect` and `git blame` also benefit from being thoughtful with commits. > It shows the Git commands it runs for you, as well as their output. I am glad to hear that. > nor does it try to shield you from learning how Git works This is what irks me. I view git as high level and opinionated already, and have no way of knowing how it would effect someone learning git. I developed my own habits w/ VCS a long time ago. That said, leave it up to the people who want to try your project. (I followed you and starred your repository.) |
However high level you think it is, it has no opinion on workflows and there's a need for a tool that will automate and enforce git workflows.
I'm not sure if this tool the answer, but there is a need for some sort of tool like this.
I wrote a hacky 'git sync' script at an old company and it achieved what sending a bunch of developers on a course about git did not (it sped up the workflow and cut down on git errors).