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