supposed that you, the user, works with a local repository named
``python`` that has an upstream remote repo named ``origin``. Your
local repo has two branches ``v1`` and ``v2``. For most examples the
-currently checked out branch is ``v2``. That is, it's assumed you did
-something like that::
+currently checked out branch is ``v2``. That is, it's assumed you have
+done something like that::
$ git clone -b v1 http://git.python.org/python.git
$ cd python
$ git log --decorate
You never do your own development on remote branches. You create a
-local branch that has a remote branch as an upstream and do
-development on that local branch. On push git updates remote branches,
-and on pull git updates remote branches and fast-forwards, merges or
-rebases local branches.
+local branch that has a remote branch as upstream and do development
+on that local branch. On push git updates remote branches, and on pull
+git updates remote branches and fast-forwards, merges or rebases local
+branches.
When you do an initial clone like this::
been pushed yet. You can even push commits to your own (backup) repo,
edit them later and force-push edited commits to replace what has
already been pushed. Not a problem until commits are in a public
-repository.
+or shared repository.
Undo