Какую систему SCM использовать с Xcode 4 для одинокого разработчика? - PullRequest
4 голосов
/ 15 апреля 2011

Я разработчик для iOS, который хочет лучше управлять проектами, которые я создаю. Я никогда раньше не касался SCM, поэтому не уверен, какую систему использовать.

Я бы хотел следить за изменениями в различных приложениях, которые я делаю для своего босса, но также располагать их централизованно, иметь возможность работать и работать над функциями отдельно от основного приложения и затем объедините изменения обратно, когда я закончу. Все это будет выполняться локально (хранится на внешнем жестком диске в моем офисе), и после завершения версий я хотел бы иметь возможность экспортировать копию без функций SCM для отправки моему боссу.

Я только что обновился до Xcode 4 и заметил, что Git встроен. Я играл с Subversion и Git, но похоже, что Git лучше всего подходит для моих нужд. Тем не менее, похоже, что он полностью отличается от Subversion. Документация Xcode 4 предполагает, что Git лучше всего подходит для одиноких разработчиков, но это не так. Если репозиторий git находится внутри вашей рабочей копии, как же вы делаете его ветки? Куда вы отправляете свои изменения? Вы копируете весь рабочий каталог и используете его как свою ветку?

Просто ищу кого-то, кто объяснит на простом английском языке, какую систему SCM лучше всего использовать одиночному разработчику, и любые учебные пособия, о которых люди могут знать, чтобы помочь мне понять это.

Спасибо за любую помощь!

Ответы [ 2 ]

4 голосов
/ 15 апреля 2011

Перейти на мерзавец!

Репозиторий фактически находится в вашем рабочем каталоге. Есть папка .git, которая содержит все данные о ваших ветках и коммитах и ​​тому подобное Вы можете создать пустой репозиторий (только содержимое папки .git), если вам нравится, но иметь оба в одном месте - это хорошо, особенно если вы один разработчик, который не нуждается в распространении.

Разветвление в git очень просто:

# create the branch
git branch mybranch

# switch to branch
git checkout mybranch

# show branches
git branch

Git не зависит от сервера, как svn. Вы можете распределить разработку с помощью удаленных устройств, но это не обязательно.

Если вы хотите сделать копию для своего босса без файлов git, выполните

git archive branchname --format=zip -o tree.zip

Предлагаю почитать о git

3 голосов
/ 15 апреля 2011

Ветвление в git сильно отличается от SVN. Ветвление происходит на месте, а не в другом каталоге.

Прочтите эту книгу и другие ресурсы, чтобы лучше понять, как работает git

Что касается централизованного сервера, Git - это децентрализованный SCM. Это означает, что каждый клон содержит весь репозиторий, а не только текущий рабочий каталог.

Это не значит, что у вас не может быть центрального хранилища. На центральном сервере вы создаете пустой репозиторий, а на локальном компьютере вы клонируете из этого репозитория, выталкиваете и извлекаете из этого репозитория, часто через ssh.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...