Branches

git branch> display branches
git checkout > switch to a branch
git status> shows how things with git are

usage: git [-v | --version] [-h | --help] [-C ] [-c =]
                [--exec-path[=]] [--html-path] [--man-path] [--info-path]
                    [-p | --paginate | -P | --no-pager] [--no-replace-objects] [--bare]
                    [--git-dir=] [--work-tree=] [--namespace=]
                        [--config-env==]  []
                            
                            These are common Git commands used in various situations:
                            
                            start a working area (see also: git help tutorial)
                            clone     Clone a repository into a new directory
init      Create an empty Git repository or reinitialize an existing one

work on the current change (see also: git help everyday)
add       Add file contents to the index
mv        Move or rename a file, a directory, or a symlink
restore   Restore working tree files
rm        Remove files from the working tree and from the index

examine the history and state (see also: git help revisions)
bisect    Use binary search to find the commit that introduced a bug
diff      Show changes between commits, commit and working tree, etc
grep      Print lines matching a pattern
log       Show commit logs
show      Show various types of objects
status    Show the working tree status

grow, mark and tweak your common history
branch    List, create, or delete branches
commit    Record changes to the repository
merge     Join two or more development histories together
rebase    Reapply commits on top of another base tip
reset     Reset current HEAD to the specified state
switch    Switch branches
tag       Create, list, delete or verify a tag object signed with GPG

collaborate (see also: git help workflows)
fetch     Download objects and refs from another repository
pull      Fetch from and integrate with another repository or a local branch
push      Update remote refs along with associated objects

'git help -a' and 'git help -g' list available subcommands and some
concept guides. See 'git help ' or 'git help '
    to read about a specific subcommand or concept.

TIPS FROM COPILOT

  1. Autocorrection: Enable Git autocorrection to automatically fix mistyped subcommands. This can save you time and frustration when working with Git commands.
  2. Commit Counting: Use `git rev-list --count` to count your commits. This can be useful for tracking progress or deciding when to increment build numbers.
  3. Repository Optimization: Keep your repository clean with `.gitignore` and use Git's garbage collection with `git gc --prune=now --aggressive` to clean up orphaned objects.
  4. Backup Untracked Files: Before cleaning your working directory, take a backup of untracked files. This ensures you don't lose any important changes.
  5. Aliases for Common Commands: Create aliases for frequently used Git commands to speed up your workflow. For example, `git config --global alias.co checkout` lets you use `git co` instead of `git checkout`.
  6. Interactive Staging: Use `git add -p` to interactively stage specific parts of files. This gives you fine-grained control over what goes into your commits.
  7. Clear Commit Messages: Write clear and concise commit messages. Start with a short summary followed by a detailed explanation if necessary.
  8. History Rewriting: Use `git rebase` to alter commit history, such as squashing multiple commits into one for a cleaner history.
  9. Avoid Extra Merge Commits: Use rebase instead of merge when updating your feature branch to avoid unnecessary merge commits.
  10. Stash Wisely: Use `git stash` to save changes that are not ready to be committed yet. This keeps your working directory clean and allows you to switch branches without losing progress.