Experimenting and making mistakes is a great learning experience. Just make sure to check that you're solving the right problem or using the right tools.
Source control is great, but you don’t want it to keep track of everything. Passwords, temporary changes, and desperate debugging edits are best kept out.
--force-with-lease checks that the remote branch is in the state that we expect. If there are upstream changes your local repository doesn't know about, the push will be rejected.
Git has a user friendly command line interface. I’m going to explore the commands running under the hood of git’s (comparatively) friendly interface.
5 ways that using small git commits with descriptive messages will make your life easier.
How to make the most of documentation that "sticks" close to an application through its lifecycle—source control history.