batufa/DEVELOPERS.markdown

42 lines
1.4 KiB
Markdown
Raw Normal View History

# Distributed Source Control Management
Unlike SVN, git does not used a central repository. This is why git is "distributed" and SVN is
"centralized". Although this makes git an extremely powerful system for collaborators, tracking
changes between various collaborators can quickly become difficult as multiple forks are created.
## Managing Remote Repositories
First, you will need to tell git about the remote repository:
git remote add shadowhand git://github.com/shadowhand/kohana.git
This adds "shadowhand" as a remote repository that can be pulled from.
git checkout -b shadowhand/master
This creates a local branch "shadowhand/master" of the master branch of the "shadowhand" repository.
## Merging Changes from Remote Repositories
Now that you have a remote repository, you can pull changes into your local repository:
git checkout shadowhand/master
This switches to the previously created "shadowhand/master" branch.
git pull shadowhand master
This pulls all of the changes in the remote into the local "shadowhand/master" branch.
git checkout master
This switches back to your local master branch.
git merge shadowhand/master
This merges all of the changes in the "shadowhand/master" branch into your master branch.
git push
This pushes all the merged changes into your local fork. At this point, your fork is now in sync
with the origin repository!