Disclaimer:
These pages about different languages / apis / best practices were mostly jotted down quckily and rarely corrected afterwards.
The languages / apis / best practices may have changed over time (e.g. the facebook api being a prime example), so what was documented as a good way to do something at the time might be outdated when you read it (some pages here are over 15 years old).
Just as a reminder.

Using Git together with Github, tips and tricks

Developer notes I made about Git and Github as a version control system

I made some notes about cvs if you are still stuck with that.

Useful links

Multiple SSH Keys settings for different github account

Creating a branch in Git

git checkout -b [branchname]

Fetch latest code from Github repository

git pull origin master

Add a file to Git

git add [filename]
git commit -m "added file" [filename]

Compare changes between branches in Github

Just add compare after the repo name, e.g.
https://github.com/EdlinOrg/jqTableKit/compare
To compare master with a branch:
https://github.com/EdlinOrg/jqTableKit/compare/master...BRANCH

Push changes back to Github

git push origin [branchname]

Adding a forgotten file to Git

git commit -m 'initial commit'
git add forgotten_file
git commit --amend

Handling conflicts within Git

When committing/merging, an automatic merge might fail.
Read how to solve conflicts here: resolving a merge

Full history of a file in Git (after it has been moved)

To see the history of a file (i.e. the history previous to the move),
you need to add --follow to the log command, e.g. to see full history for github.php
git log --follow web/github.php

.gitignore

Just as in CVS, you can create a file where files that shall be ignored can be listed.
The file shall be called .gitignore and added to the repository, the content are just filenames, one on each line.
E.g.
.DS_Store
$ # Shows branches that are all merged in to your current branch
$ git branch --merged

$ # Shows branches that are not merged in to your current branch
$ git branch --no-merged

$ git tag to-be-tested
$ git tag -a v1.1.0 # Prompts for a tag message

$ git log -p
$ git log --stat



Show commits between two tags
git log --pretty=oneline tagA..tagB


Get a list of changes by user (x09 == tab in hex)
git log --pretty=format:"%cn%x09%s" tagA..tagB | grep -v "Merge remote"|grep -v "Merge branch"|sort -u
gives
John Doe    corrected bug with downloads
John Doe    fixed indentation
John Doe    added documentation
John Doe    corrected bug with uploads

Only see the files modified in any way
git log --name-only --pretty=format:"" tagA..tagB| egrep -v "^[[:space:]]*$" | sort -u


When getting this below, even though not having any conflicts etc
fatal: You have not concluded your merge (MERGE_HEAD exists).
Please, commit your changes before you can merge.

this seems to do the trick
git reset --merge

More programming related pages

Workflow: Release process
Workflow: Bug tracking
Teambox (Redbooth) - Mantis connector
Design Patterns
Git & Github
Go / Golang
CVS
CVS backup script
Distribution process
Installation script
Java Server Faces
Facelets
jibx
jBoss
jBpm
Perl tips
Perl links
PostgreSQL
Python / py2app
Shell scripts
Xslt
Node.js
Facebook / Opengraph
PHP developer notes
Redbooth API through php
Website optimization
jqTableKit demo
Javascript / html / css links