If you don't like the standard integrated Windows Explorer interface, you can also download the interface by Tortoise here: http://code.google.com/p/tortoisegit. It still needs MsysGIT to work.
Quick reference of commands I regularly use:
Basic commands:
git init - place current directory under version control
git add . - stage all files in the current directory for commit
git commit - commit all staged files
git commit -a - commit all files (including unstaged ones)
git log - view history of changes
git diff - show changes between commits
Clone commands:
git clone <path_to_existing_repos> <clone_name> - clone an existing repository
git pull - fetch latest changes from master branch
git push - push latest changes to master branch
git pull <existing clone> [<branch>] - fetch latest changes from clone
git push <existing clone> [<branch>] - push latest changes to clone
Branche commands:
git branch - list all branches
git branch <branch_name> - create a new branch in current repository
git checkout <branch_name> - checkout current branch in current repository
git merge <branch_name> - merge branch into master branch
There is also a GIT plugin available for Eclipse:
http://www.eclipse.org/egit/
http://wiki.eclipse.org/EGit/User_Guide
Next, I will describe a real life scenario of a team working on the same project.
Installation
John starts a new project and creates a local repository from his working directory:
cd project
git init
git add .
git commit
Now he wants to share this project with his team members. To do that, John creates a central empty "bare" project that is going to hold all the project files:
cd <path_to_central_directory>
mkdir project
cd project
git init --bare
Once the central repository is ready, John pushes the content from his local working directory to the central repository:
git remote add origin <path_to_central_directory>/project
git push origin master
Now Karen can join this project by cloning the central repository to her local directory:
git clone <path_to_central_directory>/project
She can now edit some files and push the changes to the central repository:
git add file
git commit
git push [origin master]
John can fetch or pull the changes from the central repository to merge them with his own repository with:
git fetch
git merge HEAD
or
git pull origin master
Now, John wants to start a new version in a branch:
git branch new_version
The current checked out branch can be viewed using this command:
git branch
John can start editting the new branch by checking out the new branch by using:
git checkout new_version
When John is done, he can merge the changes in the new branch to the master with:
git merge new_version
References:
No comments:
Post a Comment