Прежде всего, позвольте мне заявить, что у меня нет большого опыта работы с мерзавцем. Тем не менее, позвольте мне получить мой ответ.
Короткий ответ будет: да, в некотором смысле, так оно и будет. Но это не должно быть такой большой проблемой, как вы о ней заявляете.
Я предположил, что вы по какой-то причине знаете SVN, но дайте мне знать, если нет, и я постараюсь записать вещи с другой точки зрения.
Способ SVN, централизованный способ, состоит в том, что существует один репозиторий, и у каждого есть рабочая копия. В рабочую копию можно вносить изменения, а затем изменения могут быть зафиксированы в хранилище. Если два человека вносили изменения в свои рабочие копии одновременно, вам может потребоваться объединить изменения, но если это не так, все будет автоматически.
Git децентрализован. Это достигается не только наличием одного репозитория, но и каждого пользователя, имеющего свой репозиторий. Обычно к хранилищу прилагается рабочая копия (причем рабочая копия - это просто обычные файлы, а хранилище находится в .git
. Вы вносите изменения в свою рабочую копию и затем фиксируете их в своем хранилище. Затем, если вы решите, что изменения должны быть доступны общественности, вы можете отправить изменения в свой репозиторий в открытый репозиторий.
(Обратите внимание, что общедоступный репозиторий является общедоступным только потому, что вы относитесь к нему как к тому, что git не знает ничего другого. Если вы работаете над одной функцией со своим коллегой Бобом, вы можете вместо этого перейти в репозиторий Боба и только тогда, когда вы двое из вас сделано, отправьте его в общедоступный репозиторий или нет, если это просто ваша личная модификация.)
По сути, при обычном использовании с git слияние будет более проблематичным, чем с SVN. К счастью, слияние Git также лучше, так что вам придется делать меньше самостоятельно (или так мне сказали). Однако не должно быть слишком много конфликтов, если вы не ждете месяцы, прежде чем отправлять что-то в публичный репозиторий. Еще лучше, если вы боитесь слияния (причин для этого нет, но если да), вы можете нажать сразу после каждого коммита - в этом случае вы не будете делать больше слияния, чем с SVN. Вы отказываетесь от некоторой гибкости git, но большая часть этого может быть снова сведена на нет с помощью правильного использования веток (что автоматически означает использование явного слияния, но в git на самом деле бояться нечего).