Intelligent and Interactive Systems

User Tools

Site Tools


collab:git-usage

This is an old revision of the document!


Editing and Committing

Please follow these simple guidelines to help everybody get the most out of revision control:

  • No auto-generated files should be added to the repository. They are unnecessary and may give rise to nasty merge conflicts.
  • To help with the previous point, consider adding a Makefile or scripts for auto-generating files where their making is not obvious.
  • Use .gitignore files to keep the workspace clean for git status and friends. List all auto-generated files, including backup files, in .gitignore.
  • With each commit, include only a single, self-contained type of change (which will often include changes to multiple files). Keep this change minimal to make it easy to follow edits with git log, annotate, diff etc. For example, confine content changes and formatting changes to separate commits.
  • To help with the previous point, it is most useful to use hard linebreaks instead of one-line paragraphs because it makes local changes easier to spot. Take care to alter as few lines as possible; do not reflow paragraphs if your edits affect only isolated lines. If the formatting becomes ugly, commit separate formatting-only edits.
  • Provide a brief but informative message with each commit. (This should go without saying.)
  • Do not keep multiple versions of files in the repository. The repository does this automatically for you.
  • Keep the repository self-contained, or include easy-to-follow instructions of how to obtain any required extra material. This is particularly an issue with BibTeX files. For IIS-internal documents, the recommended solution is to cite only publications from IISbib using \bibliography{iisbib,otherbib}, which can then simply be accessed via symbolic links to the respective .bib files in iisbib/exports/. For externally-shared documents, the recommended solution is the inclusion of a custom .bib file in the repository together with the paper, using automatic tools to feed it cited references from external BibTeX databases1).
1)
Justus has no personal experience with such tools. If you have more specific recommendations, please document them here. We could also quite easily roll or own mechanism for use with IISbib.
collab/git-usage.1355391352.txt.gz · Last modified: 2018/09/03 14:57 (external edit)