Workflow
Most of my interactions with git CLI, especially for quick changes, is:
$ git checkout main
$ git pull
$ git checkout -b okken_something
< code changes >
$ git commit -a -m 'quick message'
$ git push
Then the code review and merge happen on the server.
Commands
Let’s break that down.
git checkout main
- Start at the main branch.
git pull
- Grab any changes from remote repo.
git checkout -b okken_something
- Create and switch to a new branch to start work.
git commit -a -m 'quick message'
- Commit changes.
- The
-a
automatically “adds” changed and deleted files, but not untracked files. - See commit -a docs.
git push
- Push to the remote repo.
- Normally this would show an error that the branch name doesn’t exist on the remote.
- However, I have a config setting that automatically creates a branch on remote.
- config setting:
git config --global push.default current
- See push.default docs.
With Autocorrect
Even if I mistype a command, it will work:
$ git chkout main
$ git pll
$ git commt -a -m 'quick message'
$ git psh
This is due to this config change:
$ git config --global help.autocorrect 10
This tells git to automatically run a command that is misspelled, after 1 second.
The 10
is 10 x 1/10 of a second. So 50
for 5 seconds, etc.
See also Configure Git to Autocorrect.