If you use github, you can follow this.
I use huachlee/ruby-china repository for example.
At huacnlee/ruby-china repository homepage, clicked “Fork” button, then after serval minutes, you will have you own forked repository copy.Then you clone to local.
git clone git@github.com:qichunren/ruby-china.git
Then you commit your changes, and push to it.When you found the original repository has some updated feature,you can do as follow:
cd ruby-china
git remote add upstream git://github.com/huacnlee/ruby-china.git
caojinhua:ruby-china caojinhua$ git fetch upstream
remote: Counting objects: 345, done.
remote: Compressing objects: 100% (164/164), done.
remote: Total 266 (delta 196), reused 156 (delta 98)
Receiving objects: 100% (266/266), 31.92 KiB | 25 KiB/s, done.
Resolving deltas: 100% (196/196), completed with 67 local objects.
From git://github.com/huacnlee/ruby-china
* [new branch] github_autocomplete -> upstream/github_autocomplete
* [new branch] markdown -> upstream/markdown
* [new branch] master -> upstream/master
* [new branch] post -> upstream/post
caojinhua:ruby-china caojinhua$ git merge upstream/master
That is it.