Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.
Both sides previous revision Попередня ревізія Наступна ревізія | Попередня ревізія Остання ревізія Both sides next revision | ||
git [2014/10/11 10:45] wombat Ход работы |
git [2015/01/22 01:21] wombat [К ранним коммитам] |
||
---|---|---|---|
Рядок 40: | Рядок 40: | ||
===== Обновление с удалённого репозитория ===== | ===== Обновление с удалённого репозитория ===== | ||
- | git pull <branch_name> | + | git checkout <branch_name> |
+ | git pull | ||
+ | |||
+ | ===== Создание ветки ===== | ||
+ | |||
+ | git checkout -b <branch_name> | ||
+ | |||
+ | ((http://www.git-scm.com/book/en/Git-Branching-Basic-Branching-and-Merging#Basic-Branching)) | ||
Рядок 72: | Рядок 79: | ||
git merge --no-ff <another_branch_name> | git merge --no-ff <another_branch_name> | ||
| | ||
+ | |||
+ | ===== Внесение изменений ===== | ||
+ | |||
+ | После редактирования некоторых файлов в проекте, можно в любое время проверить состояние своего локального GIT-репозитория: | ||
+ | |||
+ | git status | ||
+ | |||
+ | Его вывод покажет, какие были произведены изменения и подскажет, как их правильно сохранить. Обычно для сохранения своих изменений достаточно сделать следующее: | ||
+ | |||
+ | git add <file> | ||
+ | git commit | ||
+ | |||
+ | Последняя команда откроет текстовый редактор для вставки короткого (или не очень) комментария, описывающего внесённые изменения. Комментарий не может быть пустым. | ||
+ | |||
+ | |||
===== Загрузка на сервер ===== | ===== Загрузка на сервер ===== | ||
Рядок 78: | Рядок 100: | ||
+ | ===== Удаление ветки ===== | ||
+ | |||
+ | ==== локальной ==== | ||
+ | |||
+ | git branch -d <branch_name> | ||
+ | |||
+ | ==== удалённой ==== | ||
+ | |||
+ | git push origin --delete <branch_name> | ||
+ | |||
+ | |||
+ | |||
+ | ===== Изменение комментария ===== | ||
+ | |||
+ | ==== К последнему коммиту ==== | ||
+ | |||
+ | |||
+ | Если возникла необходимость изменить комментарий к сохранённому коммиту, не отправленному на сервер, нужно выполнить((http://stackoverflow.com/a/179147)) | ||
+ | |||
+ | git commit --amend | ||
+ | |||
+ | Если изменения уже были отправлены на сервер, то после этого нужно отправить новую информацию на север | ||
+ | |||
+ | git push <remote> <branch> --force | ||
+ | |||
+ | |||
+ | ==== К ранним коммитам ==== | ||
+ | |||
+ | Если нужно отредактировать комментарий не к последнему коммиту, а к некоторому более раннему, необходимо выполнить(( http://stackoverflow.com/a/180085)) | ||
+ | |||
+ | git rebase --interactive $parent_of_flawed_commit | ||
+ | |||
+ | где ''$parent_of_flawed_commit'' -- идентификатор коммита, предшествующего самому раннему из редактируемых. | ||
+ | |||
+ | После этого откроется редактор со списком коммитов, начиная с самого старого из подлежащих редактированию. Возле каждого из них нужно выставить соответствующее слово, которое обозначает действие для данного коммита. Согласно подсказке, которую, Git показывает прямо в редакторе, | ||
+ | |||
+ | <code> | ||
+ | # p, pick = use commit | ||
+ | # r, reword = use commit, but edit the commit message | ||
+ | # e, edit = use commit, but stop for amending | ||
+ | # s, squash = use commit, but meld into previous commit | ||
+ | # f, fixup = like "squash", but discard this commit's log message | ||
+ | # x, exec = run command (the rest of the line) using shell | ||
+ | </code> | ||
+ | |||
+ | После этого нужно следовать подсказкам Git. Чаще всего, всё сведётся просто к устранению конфликтов и выполнению команды | ||
+ | |||
+ | git rebase --continue | ||
+ | |||
+ | дл каждого конфликта. | ||
+ | |||
+ | Для публикации исправленных записей используется команда | ||
+ | |||
+ | git push origin <ветка> -f | ||
+ | |||
+ | После чего необходимо оповестить всех участников проекта о необходимости скопировать эти изменения к себе. | ||
====== Ссылки ====== | ====== Ссылки ====== | ||
Рядок 89: | Рядок 167: | ||
[[http://www.git-scm.com/book/ | Pro Git book]] | [[http://www.git-scm.com/book/ | Pro Git book]] | ||
- | |||