]> git.phdru.name Git - git-wiki.git/blobdiff - pep-git.txt
How to deploy code on a remote host: push, ssh, pull
[git-wiki.git] / pep-git.txt
index c123c389a0105284c043935ec8667f6e7f72eb64..8aa472cd7a3ac23a6549ffdf2eb6eae732147191 100644 (file)
@@ -174,8 +174,9 @@ 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.
+directory ``python``, creates remote branches, creates a local branch
+``v1``, configure it to track upstream remotes/origin/v1 branch and
+checks out ``v1`` into the working directory.
 
 Updating local and remote branches
 ----------------------------------
@@ -282,6 +283,12 @@ 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.
 
+When you want to deploy code on a remote host and can only use push
+(because your workstation is behind a firewall and you cannot pull
+from it) you do that in two steps using two repositories: you push
+from the workstation to a bare repo on the remote host, ssh to the
+remote host and pull from the bare repo to a non-bare deployment repo.
+
 Tags
 ''''
 
@@ -298,7 +305,7 @@ For example::
 
 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::
+pushed). To push tags list them explicitly::
 
     $ git push origin tag 1.4.2
     $ git push origin v1 v2 tag 2.1.7