PSD Repo

Reel-to-Reel Tape Drive circa 1961 PSD Computing provides a web-based Git hosting service dubbed PSD Repo.  It runs the GitLab Enterprise platform and offers distributed source code and document revision management, code reviews, issue tracking, activity feeds and wikis.

PSD Repo is open to all Faculty, Staff, Postdocs and Students in the Physical Sciences Department here at the Univeristy of Chicago. You can gain access with your CNetID credentials.

Quick Start

  1. Install Git
  2. Login to PSD Repo
  3. Create a New Group
    • OR request access to an existing group
  4. Create a New Repository
  5. Clone your Project locally
    • OR add as a remote to an existing local repository

What is this Version Control stuff all about? 

How do I use Git?

The best all around reference to git is the Git Pro Book

For source code specifically you will probably want to utilize a well defined process.  The best we have seen is something called Git Flow.  Here is the post that describes the process with command examples.

For document revision / change tracking here are some resources focusing on LaTeX based documents:

  1. Collaborating with LaTeX and git
  2. Git + LaTeX

Quick reference for Subversion-ists

Subversion to Git commands Quick Reference
checkout an existing repo git clone http://psd-repo.uchicago.edu/stuff/stuff.git svn checkout http://psd-repo.uchicago.edu/repos/stuff/
Update locally checked out files from central repo git pull svn update
List locally changes files/folders git status svn stat
Diff locally changed file git diff somefile.txt svn diff somefile.txt
Revert locally changed file* git checkout somefile.txt svn revert somefile.txt
Revert ALL local changes (except untracked files)* git reset --hard HEAD svn revert . -R
Add new file git add file.txt svn add file.txt
Add new folder recursively git add folder svn add folder
Delete file git rm file.txt svn rm file.txt
Delete folder git rm -r folder (non-recursive by default; use -r to recurse) svn rm folder (recursive by default; use -N to not recurse)
Commit changed file to central repo git commit -m "message" file.txt; git push svn ci -m "message" file.txt
Ignore files/folders (in the current folder) echo "target
*.class
bin" > .gitignore; \
git ci -m "gitignore" .gitignore
svn propset svn:ignore "target
*.class
bin" .; \
svn ci -N -m "svn:ignore" .
 

Additional Tools

  • SourceTree - A Great graphical client for Git for major OS's

 

 


University of Chicago Photographic Archive, apf2-01915,
Special Collections Research Center, University of Chicago Library