-
Notifications
You must be signed in to change notification settings - Fork 0
UsingGitOnWindows
Для обращения к репозиторию необходимо настроить рабочую среду Git, позволяющую получать хранящиеся на сервере и публиковать свои локальные изменения. Ниже дана пошаговая инструкция для ОС Windows и консольной версии инструментов Git в связке с хостингом Google Code. Отметим, что для работы могут использованы и любые другие инструменты.
- Откройте ссылку http://git-scm.com/downloads и скачайте инсталлятор. Имя его должно быть похоже на
git-1.8.4-preview.exe
.
- Установите набор приложений. Используйте настройки по умолчанию, если вы не знаете, что означают вопросы, задаваемые при инсталляции.
-
Получите права на запись в репозиторий проекта: http://code.google.com/p/mipt-ilab-course . При этом ваше имя должно появиться с списке участников с пометкой Committer или Contributor
-
Узнайте свой пароль к репозиториям. Google Code использует генерируемые пароли, они доступны с вашей страницы настроек. Он понадобится вам на следующем шаге.
Краткая инструкция по получению репозитория приведена на вкладке Source - Checkout
Однако разберём её подробнее.
- Найдите среди недавно установленных программ новую категорию Git. Откройте командную строку Git Bash. Эта командная строка представляет собой окружение, во многом аналогичное Linux версиям Bash.
- Перейдите в домашнюю директорию, выполнив команду
cd $HOME
- Создайте файл
_netrc
(первый символ - подчерк) в своей домашней директории и сохраните в нём свой пароль к репозиторию для того, чтобы не вводить его каждый раз при операцииpush
, выполнив в коммандной строке следующие команды:
echo machine code.google.com login ваш@емейл password пароль >> _netrc
chown 600 _netrc
ВНИМАНИЕ! Ни при каких условиях не заносите свой файл _netrc
в репозиторий. в нём содержится ваш пароль на запись в общий репозиторий. Если вы сделаете push, то он станет виден всем в Интернете! Любой сможет использовать его для того, чтобы вносить изменения от вашего имени. Т.к. Git сохраняет все ревизии, удалить его без уничтожения репозитория будет нельзя.
Если вы всё-таки сделали это, то перегенерируйте свой пароль в настройках Google Code https://code.google.com/hosting/settings , нажав кнопку Regenerate.
Примечание на Unix-системах данный файл должен иметь имя .netrc
, начинающееся с точки. Далее мы будем использовать оба имени взаимозаменяемо.
-
Файл
_netrc
не должен быть в директории репозитория - он должен быть в вашей домашней директории. На Windows этоC:\Users\ИмяПользователя
. Только в этом случае он будет использоваться для авторизации. -
Не забудьте подставить свой емейл адрес в качестве логина и свой пароль Google Code в качестве пароля!
- Примечание для тех, кто работает из офиса Интел. Выставите правильные настройки для прокси-сервера, иначе вы не сможете передавать файлы по сети с помощтю Git. Для этого выполните команду:
$ git config --global http.proxy <proxy:port>
Если вы работаете из сети МФТИ или другой сети, то пропустите этот шаг.
- Наконец, для получения копии репозитория (клонирования удалённого репозитория) выполните команду
git clone https://code.google.com/p/mipt-ilab-course/
- Не указывайте своё имя/емейл в командной строке! Это создаст некоторые проблемы с настройками в
.netrc
После окончания клонирования у вас должна появиться новая директория mipt-ilab-course
, содержащая все файлы проекта. В ней надо создать папку со своим именем, однозначно идентифицирующую вас, чтобы ментор не путался, где находятся ваши файлы. В этой, и только в этой, папке вы будете работать.
Решения задач в своей папке надо заливать под именем, построенным как (номер задачи)-(название задачи), например 01-SolveSquare.cpp
или 01-SolveSquare
(если это папка с несколькими файлами). Это облегчит ментору поиск текущей проверяемой задачи.
Для примера: http://code.google.com/p/mipt-ilab-course/source/browse/#git%2Fstudents%2Fasamsonov
Ни в коем случае не надо трогать директорию .git
, иначе можно сломать вашу копию репозитория.
- Для того, чтобы при будущих коммитах было указано ваше имя и емейл, выполните следующие команды:
git config --global user.email "ваш@емейл"
git config --global user.name "ваше имя"
- Процесс публикации изменений при работе с Git двустадийный
- Вы фиксируете изменения в своей локальной копии репозитория (находящейся в папке
.git
) - это commit - Вы переносите локальные изменения в удалённый репозиторий - это push
-
В Git Bash зайдите в директорию проекта:
cd mipt-ilab-course
. Вы должны находиться внутри файловой структуры проекта почти всегда, когда выполняете какие-то команды git, чтобы программа знала, с каким именно репозиторием вы работаете. -
Для коммита выполните команду
git commit -a -m 'Change description'
Внимание Флаг -a
приказывает git коммитить все изменённые файлы, даже те, которые вы, возможно, не хотите. Для контроля над тем, что должно попасть в репозиторий, используйте команду git status
. Более подробно она описана в GitStatus.
Здесь опция -a
приказывает занести все локальные изменения в репозиторий, -m 'строка'
указывает комментарий, описывающий изменения, который будет виден всем участникам после успешного пуша. Всегда давайте в комментарии полезное описание ваших действий!
- Для пуша выполните команду
- Для проверки, что ваши изменения достигли репозитория, проверьте, что новая версия появилась в веб-интерфейсе проекта: http://code.google.com/p/mipt-ilab-course/source/list. В примере ниже мой коммит получил краткий номер 7789a9e77f32:
Заметьте, что вместе с коммитом видно имя автора и описание изменения.
- Поздравляю! Вы выполнили свой первый коммит в проекте!
Дальнейшее чтение по работе с Git
- GitRevisions
- GitAddDelete
- GitEmergencyRestore - что делать, если запороли репозиторий
- Mentors
- UsingGitOnWindows
-
GIT
- GitStatus
- GitBranches
- WorkingWithIssues
- HOWTO_create_new_test
- CommentStyle
- CodeReview
- Testing
- CodeStyle
- CompilersIDEs
- WindowsCmd
- WikiImages
- LinksAndResources
- FAQ