about summary refs log tree commit diff stats
path: root/dev/git/branch.html
diff options
context:
space:
mode:
Diffstat (limited to 'dev/git/branch.html')
-rw-r--r--dev/git/branch.html37
1 files changed, 20 insertions, 17 deletions
diff --git a/dev/git/branch.html b/dev/git/branch.html
index 2db02a2..24acff8 100644
--- a/dev/git/branch.html
+++ b/dev/git/branch.html
@@ -90,7 +90,7 @@
     $ git commit -m "better implementation and tests."
     </pre>
 
-    <p>Prepare for testing and merge back;</p>
+    <p id="rebase">Prepare for testing and merge back;</p>
 
     <pre>
     $ git checkout featurex
@@ -115,14 +115,14 @@
     $ git branch -m featurex f-xpto
     </pre>
 
-    <p>Rename remote branch;</p>
+    <p id="push">Rename remote branch;</p>
 
     <pre>
     $ git push origin :featurex f-xpto
     $ git push origin -u f-xpto
     </pre>
 
-    <p>Merge branch feature into develop, first make sure is update with develop and history is clean;</p>
+    <p id="merge">Merge branch feature into develop, first make sure is update with develop and history is clean;</p>
 
     <pre>
     $ git checkout featurex
@@ -190,11 +190,15 @@
     $ git merge --no-ff r-1.2.0
     Merge made by recursive.
     </pre>
+    <h3 id="tags">3.4. Tags</h3>
+
+    <p>There are two main types of tags, lightweight and
+    annotated. Lightweight tag is a pointer to a specific commit,
+    much like cheap branches. Annotated tags are stored as full objects
+    and allow to sign with <a href="gnupg.html">gnupg</a>, making it ideal
+    for distributing releases.</p>
 
-    <p>Tag new release with projectname-version, this
-    allows meaningful ports
-    <a href="../core/ports.html">distfiles</a> when
-    downloading releases from git archives;</p>
+    <p id="tag">Tags are used to mark patch releases, get back in time to make security patches or to mark a new major or minor new release. Tag new release with projectname-version, this allows meaningful ports <a href="../core/ports.html">distfiles</a> when downloading releases from git archives;</p>
 
     <pre>
     $ git tag -a projectname-1.2.0
@@ -213,16 +217,6 @@
     $ git push
     </pre>
 
-    <h3 id="tags">3.4. Tags</h3>
-
-    <p>There are two main types of tags, lightweight and
-    annotated. Lightweight tag is a pointer to a specific commit,
-    much like cheap branches. Annotated tags are stored as full objects
-    and allow to sign with <a href="gnupg.html">gnupg</a>, making it ideal
-    for distributing releases.</p>
-
-    <p>Tags are used to mark patch releases, get back in time to make security patches or to mark a new major or minor new release.</p>
-
     <p>Delete local and remote;</p>
 
     <pre>
@@ -296,6 +290,15 @@
     $ git -D h-error-name
     </pre>
 
+    <p id="cherry-pick">Some times is useful to pick the last commit that affected a path on other branch. To achieve this first get last commit that affected the path;</p>
+
+    <pre>
+    $ git checkout upstream
+    $ git log -n 1 -- path/dir/or/file.c
+    $ git checkout stable-3.4
+    $ git cherry-pick 9ce8b280e7081ec3c122b228cfa76600251ea6c9
+    </pre>
+
     <a href="index.html">Git Index</a>
     <p>This is part of the Hive System Documentation.
     Copyright (C) 2019