DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
Diff and Merge tools
Araxis has been kind enough to give us free licenses for Araxis Merge if you work on open source, just submit a request at http://www.araxis.com/buy/open-source
Download from http://www.araxis.com/url/merge/download.uri
You will be prompted for your serial number when you run the application for the first time. To enter a new serial number into an existing installation, click the Re-Register... button in the About window.
Integrating Araxis to Git as your Diff and Merge tool
After installing Araxis Merge,
On Mac OS X,
Drag Araxis across to your
~/Applicationsfolder as normalCopy the contents of the Utilities folder to (e.g.)
/usr/local/araxis/binAdd the path to your startup script:
export PATH="$PATH:/usr/local/araxis/bin"
In your .gitconfig file (tested on Mac OS X),
[diff]
tool = araxis
[difftool]
prompt = false
[merge]
tool = araxis_merge
[mergetool "araxis_merge"]
cmd = araxisgitmerge "$PWD/$REMOTE" "$PWD/$BASE" "$PWD/$LOCAL" "$PWD/$MERGED"
Git Best Practices
This is just a personal preference, but it may be easier to create one Git branch per Jira/feature. E.g.,
git checkout trunk git checkout -b AMBARI12345 # create the branch and switch to it git branch --set-upstream-to=origin/trunk AMBARI12345 # set the upstream so that git pull --rebase will get the HEAD from trunk # Do work, git commit -m "AMBARI-12345. Foo (username)" # Do more work git commit --amend # edit the last commit git pull --rebase # If conflicts are detected, then run git mergetool # should be easy if you have Araxis Merge setup to do a 3-way merge git rebase --continue git push origin HEAD:trunk
Useful Git Commands
In your .gitconfig file,
[alias]
st = status
ci = commit
br = branch
co = checkout
dc = diff --cached
dtc = difftool --cached
lg = log -p
lsd = log --graph --decorate --pretty=oneline --abbrev-commit --all
slast = show --stat --oneline HEAD
pshow = show --no-prefix --format=format:%H --full-index
pconfig = config --list
Also, in your ~/.bashrc or ~/.profile file,
alias branchshow='for k in `git branch|perl -pe s/^..//`;do echo -e `git show --pretty=format:"%Cgreen%ci %Cblue%cr%Creset" $k|head -n 1`\\t$k;done|sort'
This command will show all of your branches sorted by the last commit times, which is useful if you develop one feature per branch.