From 8878878b3c75f53b617b27595616fd71f3fb2a99 Mon Sep 17 00:00:00 2001 From: Sergei Vorobev Date: Tue, 15 Mar 2016 11:33:14 -0700 Subject: [PATCH] Update git-101.md Add info about sync scenario [skip ci] --- docs/git-101.md | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/docs/git-101.md b/docs/git-101.md index ab812e1fe5..4a3cf88de6 100644 --- a/docs/git-101.md +++ b/docs/git-101.md @@ -44,3 +44,35 @@ changes, and issue a pull request. [Githug](https://github.com/Gazler/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. + + +## 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. + +```sh +# 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 +```