First Steps for Coauthors and RAs

  1. Ensure you have a GitHub account ID, and send it to me
  2. Follow instructions in the QuantEcon Version Control Lecture
  3. Please do not forget to change the autocrlf setting in those instructions!
After the installation of the Github Desktop in those instructions,
  1. The easiest way to clone a repository is to go to the link in GitHub, click "Clone or download", and then say "Open in Desktop".
  2. The first time you do this, it will ask you to run the executable on opening the link. Set this as the default behavior
  3. After that, you can choose the local directory you want the Clone to save in
Throughout GitHub, all comments, commit strings, and README files (and any file that ends in .md) uses Markdown for display.

Some Settings and Setups

  1. Jabref for managing bibtex
    • You can change the "BibTex key generator" pattern to [authors3][year]
    • The key with JabRef is to keep a master .bib file for all of your bibliography, and use the "Tools/New sublibrary" based on AUX file to generate a .bib file from the master references for the individual paper.
  2. Latex editors settings (e.g. for shell-escape)
    • TeXstudio
      • Go to "Options/Configure TeXstudio" and go to the "Commands" tab and change the "PdfLaTeX" text to: pdflatex.exe -synctex=1 -interaction=nonstopmode -shell-escape %.tex
    • VSCode settings

Basic Git Workflow

  1. "Pull" from the server before you start working on a particular project for the day. This avoids unnecessary conflicts if someone else changed the files, or you changed them on a different computer. In GitHub client, select the current repository and choose "Pull origin" at the top if there are any updates
  2. Plan and accomplish atomic tasks and "Commit" and then "Push" the files to the server as soon as you finish those small tasks. In GitHub Desktop, you will see the list of changed files on the left. Add in a summary of the change, and then "Commit to Master", then choose
  3. Put a comment in on the "Commit" which explains the change. This is for your future self as well as coauthors, and allows you to track all of the changes you made in case you need to see what changed (or rollback a version)
  4. If, while you are working, you want to rollback to the last version, right click on the file in GitHub Desktop, and either Discard all Changes, or choose which changes to discard
  5. If it absolutely impossible to break a change into smaller tasks that can individually finished in a day or so, then just be careful not to commit up files that "break the build" and make it unable to compile. If you absolutely must, then put a comment in that says something like: "Breaks build, in progress"