PowerShell/docs/git-101.md
2016-03-15 11:35:51 -07:00

2 KiB

Git 101

We are using git version 2.7.x, but any version should be good. It's recommended to learn git command line tool for full cross-platform expirience.

There are (too) many git tutorials on the internet. Here we post referrences to our favorites.

Install

Windows

Install [Git for Windows][].

During the install process, choose these recommended settings:

  • Use Git from the Windows Command Prompt
  • Use OpenSSH
  • Checkout Windows-style, commit Unix-style line endings
  • Use Windows' default console window
  • Enable file system caching

Linux

Install via the package manager:

sudo apt-get install git

Interactive tutorials

Hello world

If you're new to Git, learn the following commands: checkout, branch, pull, push, merge.

Use GitHub's Hello World to learn how to create a feature branch, commit changes, and issue a pull request.

Githug

Githug is a great gamefied way to learn git in couple hours. After finishing 50+ real-world scenarios you will have a pretty good idea about what and when you can do with git.

Cheatsheets

Git pretty

So you have a mess on your hands?

Scenarios

Sync your local repo

Don't commit your changes directly to master. It would make workflow messy.

Always create a branch for your changes.

# switch to master branch

# fetch updates all remote branch references in the repo and all submodules
# --all : tells it to do it for all remotes (handy, when you use your fork)
# -p : tells it to remove obsolete remote branch references (when they are removed from remote)
git fetch --all -p

# pull updates your local files
# you should call this command ONLY from master branch
git pull origin master

# update submodules
git submodule update --recursive 

Then switch to your branch and do rebase

git rebase master