aboutsummaryrefslogtreecommitdiff
path: root/USE.md
blob: 8491f0f35229838fc6e0acabce4881d72590a057 (plain)

Using digital source material

Use the source, Luke

-- a pun on Obi-Wan Kenobi quote in Star Wars

Special strings

NB! This documentation uses special strings which you may want to adapt for your local setup:

githostref: src.ex... gitshellhost: git.example.org

Git

Digital source material is tracked with git.

Git is a version control system - a repository for historic versions of file contents of a folder.

Create

To turn a folder into a git repository, go into the folder, and initialize its git database:

git init

Save

To "take a snapshot" of one of more files for git archival, first mark which files are involved and then archive their (changes to) content:

git add foo bar
git add baz
git commit -m "Update foo bar, and add baz."

Alternatively you can update (but not add) in one go:

git commit -m "Update foo bar." foo bar

Share

To collaborate on a shared git repository, first create a local copy from the shared location:

git clone git.example.org:/srv/git/src.ex.../example.git

Then from time to time syncronize, first fetch eventual updates from others and then push your local changes:

git pull
git push

Publish

To publish a git repository initially created locally, first create a new empty git publicly, then tell your local git where its new origin will be, and finally push your local git into its new public location:

ssh git.example.org git init --bare --shared /srv/git/src.ex.../example.git
git remote add origin git.example.org:/srv/git/src.ex.../example.git
git push --set-upstream origin main

See also

References