Some personal notes on using git-buildpackage == using git-buildpackage == An alias that's useful to build unsigned packages: {{{ alias git-b="git-buildpackage --git-export-dir=../build-area -us -uc" }}} To do the original import from an already built Debian package: {{{ git-import-dsc --pristine-tar ../scenic_0.6.3-2.dsc }}} To import a new tag: {{{ git-import-orig --pristine-tar ../scenic_0.6.4.orig.tar.gz }}} To push all branches to origin: {{{ git push origin master:master upstream:upstream pristine-tar:pristine-tar --tags }}} To pull without messing up the local repo: {{{ git fetch origin master:master upstream:upstream pristine-tar:pristine-tar }}} To build the signed source package: {{{ git-buildpackage --git-export-dir=../build-area -S -sa }}} And then, once you're done with a changelog's version packaging, you must tag it: {{{ git-buildpackage --git-tag-only }}} See PackagingWithGit and DebianMultimedia/DevelopPackaging It is better if you separately commit manually edited files and auto-generated ones. When debian/control.in exist, debian/control is auto-generated from it using this command: {{{ DEB_MAINTAINER_MODE=1 fakeroot debian/rules clean }}} == quilt == {{{ quilt new my_awesome_patch.patch quilt edit foo/bar/baz.cpp (should open a editor) quilt refresh quilt pop git add debian/patches }}}