]> git.phdru.name Git - git-wiki.git/commitdiff
Add sub-subsections "Push" and "Tags"
authorOleg Broytman <phd@phdru.name>
Tue, 2 Jun 2015 18:07:20 +0000 (21:07 +0300)
committerOleg Broytman <phd@phdru.name>
Tue, 2 Jun 2015 22:15:12 +0000 (01:15 +0300)
pep-git.txt

index ca2bc0c6cea147cd0196f1cd8ce56b5deec2e692..2d9b20c588cfe628fb11c09a7b2e6edb4ca1702b 100644 (file)
@@ -177,7 +177,7 @@ and
 The first command fetches commits from the named BRANCH in the REMOTE
 repository that are not in your repository and leaves the id (the
 hash) of the head commit in file .git/FETCH_HEAD. But it doesn't
-update any branch (doesn't move any label).
+update any branch (doesn't move any pointer).
 
 The second command fetches commits from the named BRANCH in the REMOTE
 repository that are not in your repository and updates both the local
@@ -207,6 +207,75 @@ that non-current branch and then merge::
                                   # rebase instead of merge
     $ git merge v1
 
+It is possible to configure git to make it fetch/pull a few branches
+or all branches at once, so you can simply run
+
+::
+
+    $ git pull origin
+
+or even
+
+::
+
+    $ git pull
+
+Push
+''''
+
+Pushing is a bit simpler. There is only one command ``push``. When you
+run
+
+::
+
+    $ git push origin v1 v2
+
+git guesses (knowing upstream remote branches) that you really want
+
+::
+
+    $ git push origin v1:v1 v2:v2
+
+Git pushes commits to the remote repo and updates remote branches. It
+is possible to configure git to make it push a few branches or all
+branches at once, so you can simply run
+
+::
+
+    $ git push origin
+
+or even
+
+::
+
+    $ git push
+
+Git refuses to push a branch if it's the current branch in the remote
+non-bare repository: git refuses to update remote working directory.
+You really should push only to bare repositories. For non-bare
+repositories git prefers pull-based workflow.
+
+Tags
+''''
+
+Git automatically fetches tags that point to commits being fetched
+during fetch/pull. To fetch all tags (and commits they point to) run
+``git fetch --tags origin``. To fetch some specific tags fetch them
+explicitly::
+
+    $ git fetch origin tag NAME1 tag NAME2...
+
+For example::
+
+    $ git fetch origin tag 1.4.2 tag 2.1.7
+
+Git doesn't automatically pushes tags. That allows you to have private
+tags (lightweight tags are also private for a repo, they cannot be
+pushed). To push tag(s) list them explicitly::
+
+    $ git push origin tag 1.4.2
+    $ git push origin v1 v2 tag 2.1.7
+
 
 Commit editing and caveats
 ==========================