We'd like to capture some common CVS workflows used by the Eclipse Project and spell out the git/EGit equivalent.
Clone a repo
The first step is to clone the one or more repos you need to work on. You want to clone the repo to a location outside your workspace. Then use the EGit Import Projects option to import the projects.
Refer to the EGit/User Guide for instructions and pictures.
- Switch to the Git Repository Exploring Perspective
- Use Clone a Git repository
- you can paste in your connection URL and it should do the right thing. Some URLs:
- Select all branches to clone
- Confirm the location that it will clone the repository into.
- an initial branch of master and a remote name of origin are standard.
- Finish - Now just sit back while git copies the entire repo to your harddrive :-)
We need to get the projects from the repo into our workspace:
- right click on your newly cloned repo and select Import Projects
- you want Import existing projects from the Working Directory
- Select the projects that you want to import from the repository
Now you can start working.
Start working in HEAD
To start working in HEAD you must clone your repository and checkout a working copy. By default, cloning the repo checks out the master branch, which is the same as HEAD in CVS.
The constant HEAD is used in GIT as well, but has a completely different meaning. In GIT HEAD means the pointer to the latest commit in your currently checked-out branch (more or less).
See #Clone a repo.
Start working in a new branch
For example, create the R3_7_maintenance branch for your repo. This example is for the case that your branch doesn't already exist as refs/remotes/origin/R3_7_maintenance.
- right click on one of your projects and choose Team>Switch To>New Branch
- you need to pick a source ref.
- HEAD == current checked out commit
- refs/heads/master means your master branch.
- refs/remotes/origin/R3_7_maintenance - the existing remote branch. If you pick this one and name your local branch the same, EGit will automatically create a tracked branch.
- refs/tags/R3_7 is the tags to branch from
- name the branch R3_7_maintenance
- leave "Check out the new branch" selected.
This will create a new branch for you to work on. Once you've made your initial commits, you need #Commit changes to the main repo. If this is a tracked branch, that's good enough. If this is a totally new branch, you'll need to push the new branch to the repo as well.