All work on the Batphone source code is done in a Git clone of the repository onto a developer's workstation (laptop), just as for all source code controlled using Git.
$ git clone --quiet firstname.lastname@example.org:servalproject/batphone.git $ cd batphone $ git submodule --quiet update --init $ ls aa COPYING jni res AndroidManifest.xml CURRENT-RELEASE.md LICENSE.TXT servald-gdb ant.properties data PRIVACY.md src art doc proguard.cfg testdefs.sh assets gdbserver project.properties tests build.sh git README.md build.xml GPLV3.TXT reinstall CONTRIBUTORS.md INSTALL.md reinstall-debug $
$ cd batphone $ git fetch --prune --tags --quiet $ git submodule --quiet update $
--pruneoption causes branches that have been deleted from GitHub to be deleted from the clone. This prevents old branches from accumulating in the clone.
--tagsoption ensures that all tags are fetched from GitHub.
Note: The above command does not update any local branches to track the GitHub branches. In particular, it does not update the working (checked out) branch. The commands and techniques for working with branches is an entire chapter in any Git book.
Note: The above command may leave the Serval DNA submodule in “detached head” state. This will not affect you unless you perform software development on the files in this clone's submodule.