Home
People
Projects
Research
Publications
Surveys
Courses
Student Projects
Jobs
Downloads
This is an old revision of the document!
Git is an extremely powerful and flexible revision control system, and using it effectively requires adherence to conventions.
Here is a proposal; comments and adjustments are welcome.
Retrieve an IIS Git tree for you to work on:
git clone ssh://iis.uibk.ac.at:2222/projects/git/PROJECTNAME
Prepend the hostname with USERNAME@
if your Git username does not match your local username.
Now make your edits. To see the status of your files with respect to your repository, do git status
.
For each atomic change, tell Git that you want to keep them, and then commit them to your local tree:
git add FILENAME git commit -m "brief documentation of your changes"
Each self-contained, fully-functional set of changes that you want to make public should be pushed upstream to the IIS master tree:
git push
At this point you are free to delete your local Git tree.
In the meantime, you can retrieve updates from the IIS master tree with git pull
.
For more information, see the Git Reference and Everyday Git.
cd PROJECT-ROOT git init --shared git add . git commit -m "initial import"
Generate Patches and use Peer-to-peer patch exchanges 1)
git format-patch --cover-letter -o some-dir d8a285c8f83f728be2d056e6d4b0909972789d51..9202ec15da36ca060722c363575e0e390d85fb71 # this is equivalent to, this is the short form git format-patch --cover-letter -n -o some-dir d8a28..9202e
Where d8a28 was the last commit before you started hacking and 9202e is the current head, meaning the commit ID of your latest commit.
For renaming files add “-M” to the git-format-patch arguments then patches wont create removals and adds for a simple rename.
Sending Patches:
git send-email --no-chain-reply-to --from "My Name <my.name@uibk.ac.at>" --to recipient@domain some-directory/