]> git.phdru.name Git - git-wiki.git/blobdiff - pep-git.txt
Enhance description
[git-wiki.git] / pep-git.txt
index 6a298b9f7ee3257d889ea09c81e7d0411e34d271..53e30d6788d807ce29a0f6ca028355276c195587 100644 (file)
@@ -118,10 +118,15 @@ done something like that::
     $ cd python
     $ git branch v1 origin/v1
 
     $ cd python
     $ git branch v1 origin/v1
 
+The first command clones remote repository into local directory
+`python``, creates a new local branch v2, sets remotes/origin/v2 as
+its upstream remote branch and checks it out into the working
+directory.
+
 The last command creates a new local branch v1 and sets
 remotes/origin/v1 as its upstream remote branch.
 
 The last command creates a new local branch v1 and sets
 remotes/origin/v1 as its upstream remote branch.
 
-The same result can achieved with commands::
+The same result can be achieved with commands::
 
     $ git clone -b v1 http://git.python.org/python.git
     $ cd python
 
     $ git clone -b v1 http://git.python.org/python.git
     $ cd python
@@ -380,7 +385,7 @@ TODO: describe undo strategies: git reset, git revert, git checkout,
 git reflog. "Commit early, commit often".
 
 How to undo a merge
 git reflog. "Commit early, commit often".
 
 How to undo a merge
-https://kernel.org/pub/software/scm/git/docs/howto/revert-a-faulty-merge.html
+https://www.kernel.org/pub/software/scm/git/docs/howto/revert-a-faulty-merge.html
 
 
 Merge or rebase?
 
 
 Merge or rebase?
@@ -408,6 +413,7 @@ and configure rebase for existing branches::
 
 For example::
 
 
 For example::
 
+    $ git config branch.v1.rebase true
     $ git config branch.v2.rebase true
 
 After that ``git pull origin v2`` becomes equivalent to ``git pull
     $ git config branch.v2.rebase true
 
 After that ``git pull origin v2`` becomes equivalent to ``git pull
@@ -416,12 +422,12 @@ After that ``git pull origin v2`` becomes equivalent to ``git pull
 In case when merge is preferred it is recommended to create new
 commits in a separate feature or topic branch while using rebase to
 update the mainline branch. When the topic branch is ready merge it
 In case when merge is preferred it is recommended to create new
 commits in a separate feature or topic branch while using rebase to
 update the mainline branch. When the topic branch is ready merge it
-into mainline. To avoid a tedious task of resolving conflicts you can
-merge the topic branch to the mainline from time to time and switch
-back to the topic branch to continue working on it. The entire
-workflow would be something like::
+into mainline. To avoid a tedious task of resolving large number of
+conflicts at once you can merge the topic branch to the mainline from
+time to time and switch back to the topic branch to continue working
+on it. The entire workflow would be something like::
 
 
-    $ git checkout -b issue-42  # create and switch to a new branch
+    $ git checkout -b issue-42  # create a new issue branch and switch to it
         ...edit/test/commit...
     $ git checkout v2
     $ git pull --rebase origin v2  # update v2 from the upstream
         ...edit/test/commit...
     $ git checkout v2
     $ git pull --rebase origin v2  # update v2 from the upstream
@@ -432,9 +438,9 @@ workflow would be something like::
 When the topic branch is deleted only the label is removed, commits
 are stayed in the database, they are now merged into v2::
 
 When the topic branch is deleted only the label is removed, commits
 are stayed in the database, they are now merged into v2::
 
-    o--o--o--o--o--M--< v2 - it is the mainline branch
+    o--o--o--o--o--M--< v2 - the mainline branch
         \         /
         \         /
-         --*--*--*         - it is the topic branch, now unnamed
+         --*--*--*         - the topic branch, now unnamed
 
 The topic branch is deleted to avoid cluttering branch namespace with
 small topic branches. Information on what issue was fixed or what
 
 The topic branch is deleted to avoid cluttering branch namespace with
 small topic branches. Information on what issue was fixed or what
@@ -485,6 +491,7 @@ Database maintenance
 ====================
 
 TODO: dangling objects, git gc, git repack.
 ====================
 
 TODO: dangling objects, git gc, git repack.
+https://gcc.gnu.org/ml/gcc/2007-12/msg00165.html
 
 
 Tips and tricks
 
 
 Tips and tricks
@@ -492,7 +499,10 @@ Tips and tricks
 
 TODO: sticky options; example: git grep -O.
 
 
 TODO: sticky options; example: git grep -O.
 
+TODO: tricky options; example: git log -p3.
+
 TODO: bash/zsh completion, bash/zsh prompt.
 TODO: bash/zsh completion, bash/zsh prompt.
+https://git.kernel.org/cgit/git/git.git/tree/contrib/completion
 
 
 git on server
 
 
 git on server
@@ -500,6 +510,11 @@ git on server
 
 TODO: anonymous access; git over ssh; gitolite; gitweb; cgit; gitlab.
 
 
 TODO: anonymous access; git over ssh; gitolite; gitweb; cgit; gitlab.
 
+http://gitolite.com/gitolite/index.html
+
+https://git.kernel.org/cgit/git/git.git/tree/gitweb
+
+http://git.zx2c4.com/cgit/
 
 From Mercurial to git
 =====================
 
 From Mercurial to git
 =====================