Git
Repo Setup
Server Side
$ cd /path/to/repo $ git init --bare
Client Side
$ cd /path/to/working-dir $ cd .. $ cp -r working-dir working-dir.bak $ cd working-dir
Branch
Make Branch and Commit
git checkout -b experiment/css-layout git add . git commit -m "Experimental CSS layout changes" git push -u origin experiment/css-layout
Revert
git checkout master
diff
git diff master..experiment/css-layout
merge
git merge experiment/css-layout
Renaming Main
git branch -m master main # rename master to main git branch -m main master # rename it back
Update the server
git push origin -u main git push origin --delete master
Disable Autowreck
hint: Pulling without specifying how to reconcile divergent branches is hint: discouraged. You can squelch this message by running one of the following hint: commands sometime before your next pull: hint: hint: git config pull.rebase false # merge (the default strategy) hint: git config pull.rebase true # rebase hint: git config pull.ff only # fast-forward only hint: hint: You can replace "git config" with "git config --global" to set a default hint: preference for all repositories. You can also pass --rebase, --no-rebase, hint: or --ff-only on the command line to override the configured default per hint: invocation.