Немногие поколения могут увидеть столько эпических битв за разум, сколько наши последние поколения — в 80-х это были VHS и Betamax, и в этом десятилетии мы видели, как Git и Mercurial сражались за это. Разработчики проголосовали со своими коммитами, и я уверен, что Гит выиграл войну. При настройке нашего использования Git есть много основных уроков, но ни один из них не подходит для начинающих в командной среде. В этой серии блогов я собираюсь попытаться изменить все это, проведя вас по шагам от работы в среде контроля версий не из Git до использования DVCS с другими людьми .
После личного использования Git в течение примерно четырех лет, как и многие из нас, я определенно отношусь к себе как к человеку, который выпил слишком много помощи от DVCS, хотя я не всегда был таким. Около года назад я начал работать с несколькими командами, которые разрабатывали приложения .Net с использованием Team Foundation Server, в то время как в то время находился в лагере «что это за штука командная строка». Как новый адвокат DVCS со свежим списком, я подумал: «Удачи мне» и начал работать с моими командами — мало кто пишет о том, как вы должны использовать Git ежедневно с командами любого приличного размера, поэтому пользователи Git в моих рядах и я нужно было разработать какой-то процесс и стандартизацию, и все это работало над тем, чтобы сделать его максимально свободным от трения.
Ниже приведен список того, что я хотел бы знать ранее о том, как использовать Git в коммерческой среде, а также о том, каково это для команд, использующих «злые» технологии Microsoft …
Содержание
- Настройка вашей среды
- Начиная
- Добавление файла .gitignore
- Делать свой первый коммит
- Преобразование вашего SVN репозитория
- Преобразование вашего репозитория Team Foundation Server
Настройка вашей среды
Что установить:
- Git для Windows
- SourceTree (лучший Git-клиент с графическим интерфейсом — он изначально поддерживает рабочие процессы в отличие от GitHub для Windows или Git GUI)
Перво-наперво — нам нужно настроить Git.
Загрузите последнюю предварительную версию Git для Windows (порт windows Git). Да, я сказал «предварительный просмотр» сборки — это последняя версия, а «предварительный просмотр» просто означает, что команда Git не хочет слышать, как вы говорите им о проблемах. Не волнуйтесь, у меня еще есть проблема со сборкой.
При запуске программы установки убедитесь, что вы выбрали следующее.
Выберите «Запустить Git из командной строки Windows». Это означает, что вы можете использовать Git из командной строки.
Затем выберите «Оформить заказ в стиле Windows, принять стиль Unix». Это означает, что вы всегда гарантируете, что у вашего репозитория есть окончания линий в стиле Unix, и когда вы взаимодействуете с ним, он будет использовать окончания строк в стиле Windows — упрощая работу с пользователями, не относящимися к Windows, и в то же время сохраняя возможность разработки в .Net.
Затем установите SourceTree с установкой по умолчанию («Далее, далее, далее» и т. Д.).
Начало работы с основными действиями по управлению исходным кодом
Теперь, когда у вас есть git и SourceTree, пришло время начать изучать, как работать с вашим новым репозиторием.
Основные действия по использованию клиента командной строки можно найти в официальном Git « Руководство по началу работы ».
Это руководство охватывает основы:
Я придерживаюсь мнения, что принуждение команды разработчиков использовать инструменты управления исходным кодом из командной строки, когда они используют любые средства управления исходным кодом на основе графического интерфейса, такие как Tortoise SVN или TFS, может привести к довольно сложным испытаниям, которые вы, вероятно, захотите избегать при активной разработке проекта.
Кроме того, инструменты командной строки могут быть слишком далеко для менее старшего члена вашей команды и их способности быть продуктивными, если вы пытаетесь внести изменения, пока работаете — по моему опыту это особенно относится к разработчикам, работающим в Microsoft. пространство (как внутри, так и за пределами моей команды), где разработчики менее любят командную строку через GUI.
Вот почему при настройке моей команды я предпочитаю использовать комбинацию клиента командной строки Git и исходного дерева Atlassian — он доступен как для Mac, так и для Windows и поддерживает некоторые довольно сложные сценарии использования, которые мы рассмотрим позже.
Чтобы понять, как легко использовать SourceTree, я собираюсь создать репозиторий, добавить несколько файлов и зафиксировать.
Откройте SourceTree и снова нажмите на иконку «Clone / New», как я показал вам выше.
Затем перейдите на вкладку «Создать репозиторий» и введите путь к файлу для вашего нового Git-репозитория. Я собираюсь разместить это в C: \ Code \ SampleGit.
Нажмите «Создать».
Вы можете сделать это в командной строке, перейдя в папку и используя команду:
git init
Добавление файла .gitignore
Теперь, когда вы создали хранилище, первое, что вам нужно сделать, — это настроить его для оптимального использования в проектах .Net.
Добавьте файл .gitignore, чтобы остановить добавление файлов в репозиторий, чего, вероятно, не следует делать.
Вы можете следовать этому руководству, чтобы получить возможность создавать файлы такого типа в проводнике Windows, введя «.gitignore». (две точки) в качестве нового имени файла.
Внутри этого файла используйте этот пример содержимого.
#OS junk files [Tt]humbs.db *.DS_Store #Visual Studio files *.[Oo]bj *.user *.aps *.pch *.vspscc *.vssscc *_i.c *_p.c *.ncb *.suo *.tlb *.tlh *.bak *.[Cc]ache *.ilk *.log *.lib *.sbr *.sdf *.opensdf *.mdf *.ldf obj/ [Bb]in [Dd]ebug*/ [Rr]elease*/ #Tooling _ReSharper*/ *.resharper [Tt]est[Rr]esult* Packages*/ #Project files #[Bb]uild/ #Subversion files .svn # Office Temp Files ~$*
Сохраните этот файл и закройте его.
Делать свой первый коммит
Теперь откройте папку C: \ Code \ SampleGit в проводнике Windows.
Добавьте новый текстовый файл с именем readme.txt и поместите в него текст.
Сохраните ваш файл и переключитесь обратно на SourceTree, вы должны увидеть следующее. Не используйте наш файл readme, расположенный на панели «Изменения рабочей копии».
В Git файлы, о которых он не знает, называются «неотслеживаемыми» и находятся в ваших «изменениях рабочей копии», ожидая, пока вы добавите их в свой репозиторий.
Мы собираемся сделать это в Source Tree, выбрав наш файл и нажав одну стрелку вверх , указывающую вверх на панель «Staged Changes».
Это переместит наш файл на панель «Staged Changes», показывая вам, что вы хотите включить ваш файл readme в ваш следующий коммит Git.
Вы можете выполнить это в командной строке, набрав:
git add readme.txt
Это еще не передало ваш файл. Он только переместил этот файл в «промежуточную область», где вы можете продолжить строить свой следующий коммит. Передача это отдельная задача. Это позволяет вам выбирать файлы, группы файлов или даже строки файлов для одного коммита (мы вернемся к этому позже).
Теперь вы готовы к своему первому локальному коммиту (помните, что все коммиты Git являются локальными). Нажмите на значок «Фиксация» в левом верхнем углу дерева источников.
Это вызовет модальное окно с просьбой просмотреть ваш коммит и оставить сообщение. Я написал сообщение коммита как «Добавлена первая ревизия файла readme.txt».
Нажмите «Подтвердить» в правом нижнем углу, когда вы закончите ввод сообщения подтверждения.
Вы также можете выполнить это в командной строке, используя:
git commit -a -m "Added first revision of readme.txt"
Вы только что закончили свое первое добавление Git и первый коммит Git.
Снова выполните то же, что и выше, но на этот раз с файлом «.gitignore», чтобы добавить этот файл в ваш репозиторий.
Далее — мы рассмотрим преобразование репозитория SVN или TFS в Git. Таким образом, вы знаете, как внести свои текущие проекты.
Преобразование вашего SVN-хранилища
Если вы работаете в .Net пространстве, есть большая вероятность, что, если вы не используете Git, вы используете либо SVN, либо Team Foundation Server для управления исходным кодом. К счастью, вы можете взять с собой оба с простой оснасткой.
Я начну с Subversion, потому что он, безусловно, самый простой — Git был создан как замена SVN и поэтому рассматривает SVN как первоклассный источник преобразования.
Сначала обратите внимание на соглашения вашего хранилища Subversion. Тебе нужно:
- Где багажник / багажник?
- Где ваши филиалы / отделения / XX?
- Где хранятся ваши теги / tags / XX?
Затем вам нужно сопоставить пользователей SVN с новыми пользователями Git. Вы делаете это путем создания текстового файла в следующем формате (новый пользователь для каждой строки):
svn_user_name = Firstname Lastname <[email protected]>
Я сохраняю это как C: \ PathToYourAuthors.txt После того, как вы заперли это, преобразование репозитория SVN так же просто, как открытие командной строки, как я показал вам выше. Щелкните правой кнопкой мыши папку, в которой вы хотите создать папку репозитория (эта папка еще не существует), и нажмите «Открыть командное окно здесь».
Я создал свой репозиторий в C: \ Code , и он будет называться C: \ Code \ SampleGit .
Теперь с помощью командной строки просто введите следующее (обратите внимание, что я говорю Git, где находятся мои SVN-ветви, теги и транк.
git svn clone --trunk=/trunk --branches=/branches --branches=/bugfixes --tags=/tags --authors-file=C:\PathToYourAuthors.txt https://yourdomain.com/svn/yourrepository SampleGit
Это клонирует ваш SVN-репозиторий из https://yourdomain.com/svn/yourrepository в папку SampleGit .
Формат ветвления будет выглядеть так:
Теперь ваш репозиторий перенесен, и ваша текущая кодовая база доступна в Git. Кроме того, теперь он находится в состоянии отправки на удаленный сервер (мы вернемся к этому позже).
Преобразование вашего репозитория Team Foundation Server
Если вы используете Team Foundation Server и хотите перевести свою команду в Git, есть такой же подход к SVN, он просто не встроен в Git.
Существует проект с открытым исходным кодом, который называется Git-TFS . Для настройки просто скачайте последнюю версию двоичного файла отсюда .
Затем добавьте распакованный путь к вашему пути.
set PATH=%PATH%;C:\Program Files (x86)\GitTfs\bin\Debug
Чтобы сопоставить авторов TFS с авторами Git, как клон SVN, создайте текстовый файл в следующем формате (по одному на строку):
ADDomain\john.doe = John Doe <[email protected]>
Затем вам необходимо преобразовать все ваши разветвленные папки, чтобы они фактически были настроены как «ветки», как позволяют функции TFS 2010 в TFS. Чтобы изменить папки на ветви, откройте «Source Control Explorer», а затем для каждой папки, соответствующей ветви, щелкните правой кнопкой мыши исходную папку и выберите «Ветвление и объединение», а затем «Преобразовать в ветвь».
Теперь откройте командную строку в папке, в которую вы хотите клонировать, и введите следующее:
git tfs clone https://tfsserver.com:8080/tfs/DefaultCollection $/yourproject/Main
—with-ветви
–-authors="C:\PathToAuthors.txt"
Теперь все коммиты вашего репозитория должны быть клонированы в новый репозиторий, готовый для вас, чтобы вы могли перенести его на новый пульт (мы скоро к этому вернемся).
Следующий шаг — толкать его куда-нибудь
Итак, мы перенесли ваш SVN или TFS-репозиторий в Git, и он работает локально для вас. Далее мы покажем вам, как перенести ваш код на сервер для работы с другими разработчиками .