Преимущество, которое дают системы контроля версий - это как раз контроль версий. Как правило, разработка ведется в нескольких ветках. Мастер-ветка дан для того, чтобы держать в нем стабильный код текущей версии, который разрабатываешь. Для разработки каждой фичи создаешь новую ветку, разрабатываешь эту фичу, тестируешь, что все ок, потом мержишь ее в мастер. Пока эту фичу не закончишь, с мастером не сливаешься. Т.о. если в мастере оказался мелкий бажок, ты можешь его легко исправить и отправить на продакшен, не прерывая разработки фичи и не заставляя никого ждать, пока ты фичу закончишь. Мастер остается стабильным. Если возникает необходимость зарелизить некоторую версию из мастера - можешь создать т.н. тэг. Это будет именованая ссылка на конкретный коммит в мастере. Естетственно, он тоже должен быть стабилен. Гитхаб предлагает еще такую фичу, как пулл-реквест. Ты можешь форкнуть чей-то репозиторий (скопировать в свой аккаунт), исправить там что-нибудь, а потому предложить автору оригинала смержить его код с твоим исправлением. Отсюда и получается социальный кодинг. Если автор откажется, можешь просто развивать его продукт в том направлении, в каком тебе хочется ))) В общем, много слов уже исписано по этому поводу в интернетах, на хабрах, блогах и т.д. Советую почитать поподробнее. Дык у тебя origin/master будет находится на едином сервере, так же централизованно, как и svn. Только ты имеешь дополнительную возможность создать отдельную ветку для тестов, например, и коммитить в нее, если потребуется, не трогая при этом официальные ветки с сервера и не показывая этот код никому больше. А пуш делаешь и создаешь удаленную ветку только в том случае, если нужно поделиться кодом с коллегами. В этом и плюс децентрализации. git +1