#+TITLE: Advanced usage of git for Worg
#+AUTHOR: Worg people
#+STARTUP: align fold nodlcheck hidestars oddeven lognotestate
#+SEQ_TODO: TODO(t) INPROGRESS(i) WAITING(w@) | DONE(d) CANCELED(c@)
#+TAGS: Write(w) Update(u) Fix(f) Check(c)
#+PRIORITIES: A C B
#+OPTIONS: H:3 num:nil toc:t \n:nil ::t |:t ^:t -:t f:t *:t tex:t d:(HIDE) tags:not-in-toc
# This file is released by its authors and contributors under the GNU
# Free Documentation license v1.3 or later, code examples are released
# under the GNU General Public License v3 or later.
This page answer various questions on how to use git for editing Worg.
If you're looking for a quick introduction on how to use git to
contribute to Worg, please read [[file:worg-about.org::*How to use git for Worg][this section]] instead.
* Shall I create a branch?
Yes, it's cleaner.
: ~$ git checkout -b t/my-topic-branch
: ~$ git commit -a -m "A line describing my change"
From here, either you are a registered Worg contributor and want to
merge the branch before pushing to Worg's repo, either you just want to
If you want to merge the branch and push to Worg:
: ~$ git checkout master
: ~$ git merge t/my-topic-branch
: ~$ git push
If you just want to send patches, see below.
When you're done with a branch, you can delete it with:
: ~$ git branch -D t/my-topic-branch
* I just want to send patches!
You can either either prepare patches with [[http://www.kernel.org/pub/software/scm/git/docs/git-format-patch.html][git format-patch]] or send them
directly with [[http://www.kernel.org/pub/software/scm/git/docs/git-send-email.html][git send-email]].
** Use git format-patch
We suppose you are in a branch called =t/my-topic-branch= and that you
committed your changes.
: ~$ git format-patch origin
will create a separate mbox file for each commit, ready to be sent.
: ~$ git format-patch -3
will create three separate files for the last three commits you did in
See the documentation of [[http://www.kernel.org/pub/software/scm/git/docs/git-format-patch.html][git format-patch]] to set the value of the
** Use git send-email
If your Worg repo is in =~/git/Worg= and if your emails are sent through
the =sendmail= command, please add this to =~/git/Worg/.git/config=:
: to = bzg AT gnu DOT org
(Replace =AT= and =DOT= by the =@= and =.=)
Then the =git send-email= command will send the patches directly to
Use =git send-email= like this:
: ~$ git send-email --annotate -3
to review and annotate the last three commits in the current branch
before sending them.