+=head1 HINTS AND TIPS
+
+=head2 Minimising pseudomerges
+
+Above we noted that each time you conclude a debrebase, you introduce
+a pseudomerge into your git history, which may make it harder to read.
+
+A simple convention you can use to minimise the number of pseudomerges
+is to B<git debrebase conclude> only right before you upload or push
+to B<salsa.debian.org>.
+
+It is possible to reduce the number of pseudomerges further by
+derebasing only (i) when importing a new release, and (ii) right
+before uploading. Instead of editing the existing delta queue, you
+append fixup commits (and reversions of commits) that alter the
+upstream source to the required state. You can push and pull to and
+from B<salsa.debian.org> during this. Just before uploading, you
+debrebase, once, to tidy everything up.
+
+=head2 The debian/patches directory
+
+In this workflow, I<debian/patches> is purely an output of
+git-debrebase(1). You should not make changes there. They will
+either cause trouble, or be ignored and overwritten by
+git-debrebase(1).
+
+I<debian/patches> will often be out-of-date because git-debrebase(1)
+will only regenerate it when it needs to. So you should not rely on
+the information in that directory. When preparing patches to forward
+upstream, you should use git-format-patch(1) on git commits, rather
+than sending files from I<debian/patches>.
+
+=head2 Upstream branches
+
+Except in the case where upstream releases only tarballs, or we
+require DFSG filtering, we do not maintain a separate 'upstream'
+branch (unless you also happen to be involved in upstream
+development). We work with upstream tags rather than any branches
+(except temporary branches used to prepare patches for forwarding
+upstream, for example).
+
+The idea here is that from Debian's point of view, upstream releases
+are immutable points in history, and so better represented by tags.
+
+=head2 The first ever dgit push
+
+If this is the first ever dgit push of the package, consider passing
+I<--deliberately-not-fast-forward> instead of I<--overwrite>. This
+avoids introducing a new origin commit into your git history. (This
+origin commit would represent the most recent non-dgit upload of the
+package, but this should already be represented in your git history.)
+
+=head2 Alternative ways to start a debrebase
+
+Above we started an interactive debrebase by invoking git-debrebase(1)
+like this:
+
+=over 4
+
+ % git debrebase -i
+
+=back
+
+It is also possible to perform a non-interactive rebase, like this:
+
+=over 4
+
+ % git debrebase -- [git-rebase options...]
+
+=back
+
+
+A third alternative is to have git-debrebase(1) shuffle all the Debian
+changes to the end of your branch, and then manipulate them yourself
+using git-rebase(1) directly. For example,
+
+=over 4
+
+ % git debrebase launder
+ % git rebase -i HEAD~5 # there are 4 Debian patches
+
+=back
+
+If you take this approach, you should be very careful not to start the
+rebase too early.
+