Understanding Git
For developers transitioning from a Centralized Version Control System (CVCS) such as SVN to a Distributed Version Control System (DVCS) such as Git, the Pro Git book can be useful. A free version of the book can be read on-line or downloaded.
Git and Eclipse
The latest version of Eclipse (indigo) comes with a URL for installing EGit. The EGit eclipse plugin provides eclipse with git support. A good place to start is the User's guild: http://wiki.eclipse.org/EGit/User_Guide.
The following guild is also useful for setting up your Git/Eclipse workflow: http://wiki.eclipse.org/Platform-releng/Git_Workflows.
If you are having problems getting Eclipse + Maven + EGit to work together, here is a post with various workarounds: http://stackoverflow.com/questions/4869815/importing-a-maven-project-into-eclipse-from-git.
How to get the Synapse-Repository-Services (or any) project from Github into Eclipse
- Create a GitHub user account
- Internal Sage developers will be added as a developer on the project and will be able to push directly
- External contributors should fork the repository and submit GitHub Pull Requests for code inclusion
- Clone the repository: git clone https://github.com/Sage-Bionetworks/Synapse-Repository-Services
- This clones the 'Synapse-Repository-Services' project to your local machine. Repeat for other projects, e.g. SynapseWebClient.
- Import the project as a maven project
- File -> Import -> Maven -> Existing Maven Projects
- Next, in Root Directory enter the local path to your repository clone
- Next, Finish
- Enable Git Team tracking
- Now right click on portal (project name) -> Team -> Share Project
- Next, Select repository type Git
- Next, Check the box "Use or create repository in parent folder of project
- Next, Finish
Installing Git on Windows w/Cygwin
While Cygwin comes with a version of Git bundled, we had problems getting to work. As a workaround we installed the latest version of Git for windows :http://git-scm.com/downloads, which fixed our issues. The following instructions were used:
Download and run the Git for windows: Git http://git-scm.com/downloads and run the Git-<version>-preview<date>.exe
- choose a simple destination locations such as: C:\git-1.7.10
- "How would you like to run Git from the command line?"
- We choose this option since Cygwin already had an old version of Git installed.
- "Which Secure Shell client woud you like git to use?"
- We chose "Use OpenSSH"
- "How would you like git to treat line ending?"
- We selected "Checkout Windows-style, commit Unix-style line endings"
Once you have Git installed, you will need to setup the PATH
First add an environment variable:
GIT_HOME=C:\git-1.7.10 (use the same path you set in the first step of the installer)
Next append this to your PATH
;%GIT_HOME%/bin
Start Cygiwn
Determine where the old version of git is currently running from:
$ which git /usr/bin/git
Since this old version of Git was not working we simply renamed it:
mv /usr/bin/git /usr/bin/git-old
After restarting Cygwin the new version of git was being used:
$ which git /cygdrive/c/git-1.7.10/bin/git $ git --version git version 1.7.10.msysgit.1