Алгоритм работы с git репозиторием: различия между версиями
Langator (обсуждение | вклад) (Новая страница: «'''GIT''' – удобная и быстрая децентрализованная система совместной разработки (репозитория)...») |
Langator (обсуждение | вклад) м |
||
(не показана 1 промежуточная версия этого же участника) | |||
Строка 1: | Строка 1: | ||
'''GIT''' – удобная и быстрая децентрализованная система совместной разработки (репозитория). | '''GIT''' – удобная и быстрая децентрализованная система совместной разработки (репозитория). | ||
− | |||
== Предварительный настройки git == | == Предварительный настройки git == | ||
Строка 6: | Строка 5: | ||
Можно задать глобальную идентификацию: | Можно задать глобальную идентификацию: | ||
− | + | <source lang="bash">git config --global user.name "You Name" | |
− | + | git config --global user.email you_name@you_domain.com</source> | |
Это задаст ваше имя пользователя и почтовый адрес которыми будут подписываться ваши коммиты. | Это задаст ваше имя пользователя и почтовый адрес которыми будут подписываться ваши коммиты. | ||
Строка 22: | Строка 21: | ||
Перейдите в папку где будет размещаться ваш проект и выполните клонирование проекта с сервера: | Перейдите в папку где будет размещаться ваш проект и выполните клонирование проекта с сервера: | ||
− | + | <source lang="bash">git clone ssh://you_name@git-server.com/~/you_project</source> | |
Протокол доступа к репозирорию зависит от настроек сервера. | Протокол доступа к репозирорию зависит от настроек сервера. | ||
После выполнения создастся папка проекта you_project и в последующем проводить инициализацию больше не нужно. | После выполнения создастся папка проекта you_project и в последующем проводить инициализацию больше не нужно. | ||
− | |||
=== Разработка === | === Разработка === | ||
− | |||
Перед началом разработки необходимо создать локальную ветку и связать её с удалённой (тоже выполнить нужно один раз): | Перед началом разработки необходимо создать локальную ветку и связать её с удалённой (тоже выполнить нужно один раз): | ||
− | + | <source lang="bash">git checkout -b my_branch origin/my_branch</source> | |
При создании новых файлов необходимо их пометить на добавление в репозиторий: | При создании новых файлов необходимо их пометить на добавление в репозиторий: | ||
− | + | <source lang="bash">git add myfile.txt myfile2.txt myfile3</source> | |
или рекурсивно папки (указанием точки в конце пути) | или рекурсивно папки (указанием точки в конце пути) | ||
− | + | <source lang="bash">git add new_path/.</source> | |
После внесения изменений их необходимо зафиксировать в коммит: | После внесения изменений их необходимо зафиксировать в коммит: | ||
Указываем какие файлы нужно добавить в коммит: | Указываем какие файлы нужно добавить в коммит: | ||
− | + | <source lang="bash">git commit myfile.txt myfile2.txt myfile3</source> | |
после чего потребуется ввести описание изменений или задать описание сразу (использоваться опцию -m): | после чего потребуется ввести описание изменений или задать описание сразу (использоваться опцию -m): | ||
− | + | <source lang="bash">git commit myfile.txt myfile2.txt myfile3 -m "описание изменений"</source> | |
Чтобы закомминить все произведённые изменения репозитория можно выполнить (использоваться опцию -a): | Чтобы закомминить все произведённые изменения репозитория можно выполнить (использоваться опцию -a): | ||
− | + | <source lang="bash">git commit -a -m "описание изменений"</source> | |
Оправка изменений на сервер: | Оправка изменений на сервер: | ||
Для отправки измений на общий сервер выполняем: | Для отправки измений на общий сервер выполняем: | ||
− | + | <source lang="bash">git push</source> | |
и все коммиты из локальной ветки будут добавлены в связанную ветку на сервере. | и все коммиты из локальной ветки будут добавлены в связанную ветку на сервере. | ||
Строка 58: | Строка 55: | ||
Когда нужно забрать изменения с общего сервера: | Когда нужно забрать изменения с общего сервера: | ||
− | + | <source lang="bash">git pull</source> | |
Локальная ветка сразу подтянет все изменения из связанной с ней веткой на сервере. | Локальная ветка сразу подтянет все изменения из связанной с ней веткой на сервере. | ||
Для просмотра состояния репозитория регулярно выполняйте: | Для просмотра состояния репозитория регулярно выполняйте: | ||
− | + | <source lang="bash">git status</source> | |
− | |||
− | + | == Ссылки == | |
− | + | [http://wiki.enchtex.info/howto/%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B_%D1%81_git wiki.enchtex.info] | |
+ | [[Категория:Руководства]] |
Текущая версия на 18:22, 15 апреля 2011
GIT – удобная и быстрая децентрализованная система совместной разработки (репозитория).
Предварительный настройки git
Можно задать глобальную идентификацию:
git config --global user.name "You Name"
git config --global user.email you_name@you_domain.com
Это задаст ваше имя пользователя и почтовый адрес которыми будут подписываться ваши коммиты.
Распределённая разработка проекта
Условия:
- Есть общий сервер git-server (которым, например, может выступать GitHub.
- Каждый разработчик работает с репозиторием проекта локальный и регулярно обмениваться информацией с общим сервером (выгружает свои изменений и закачивает общие)
Инициализация
Перейдите в папку где будет размещаться ваш проект и выполните клонирование проекта с сервера:
git clone ssh://you_name@git-server.com/~/you_project
Протокол доступа к репозирорию зависит от настроек сервера.
После выполнения создастся папка проекта you_project и в последующем проводить инициализацию больше не нужно.
Разработка
Перед началом разработки необходимо создать локальную ветку и связать её с удалённой (тоже выполнить нужно один раз):
git checkout -b my_branch origin/my_branch
При создании новых файлов необходимо их пометить на добавление в репозиторий:
git add myfile.txt myfile2.txt myfile3
или рекурсивно папки (указанием точки в конце пути)
git add new_path/.
После внесения изменений их необходимо зафиксировать в коммит: Указываем какие файлы нужно добавить в коммит:
git commit myfile.txt myfile2.txt myfile3
после чего потребуется ввести описание изменений или задать описание сразу (использоваться опцию -m):
git commit myfile.txt myfile2.txt myfile3 -m "описание изменений"
Чтобы закомминить все произведённые изменения репозитория можно выполнить (использоваться опцию -a):
git commit -a -m "описание изменений"
Оправка изменений на сервер: Для отправки измений на общий сервер выполняем:
git push
и все коммиты из локальной ветки будут добавлены в связанную ветку на сервере.
Получение последних изменений с сервера Когда нужно забрать изменения с общего сервера:
git pull
Локальная ветка сразу подтянет все изменения из связанной с ней веткой на сервере.
Для просмотра состояния репозитория регулярно выполняйте:
git status