From 0335b44645f94886438e77ad85a0fa14aaff336e Mon Sep 17 00:00:00 2001 From: Oleg Broytman Date: Mon, 1 Jun 2015 18:08:39 +0300 Subject: [PATCH] Add section Remote repository and remote branches --- pep-git.txt | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/pep-git.txt b/pep-git.txt index 1b0f384..df51311 100644 --- a/pep-git.txt +++ b/pep-git.txt @@ -110,6 +110,43 @@ something like that:: $ git checkout -b v2 +Remote repository and remote branches +===================================== + +Git terminology can be a bit misleading. Take, for example, terms +"remote repository" and "remote branches". A remote repository is +really remote, you access it via network (well, a remote repository +can be on your local disk, but it's still remote because it's not the +current repo). + +Remote branches, on the other hand, are pointers to commits in your +local repository. They are there for git to remember what branches and +commits have been pushed from and pulled to what remote repos (you can +pull from and push to many remotes). + +To see the status of remote branches:: + + $ git branch -rv + +To see local and remote branches (and tags) pointing to commits run:: + + $ 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. + +When you do an initial clone like this:: + + $ git clone -b v1 http://git.python.org/python.git + +git clones remote repository ``http://git.python.org/python.git`` to +directory ``python``, creates remote branches and checks out branch +``v1`` into the working directory. + + Commit editing and caveats ========================== -- 2.39.2