Git: различия между версиями

41 байт убрано ,  5 лет назад
м
замена категории на шаблон для работы полки, removed: Категория:Программирование с помощью AWB
м (замена категории на шаблон для работы полки, removed: Категория:Программирование с помощью AWB)
 
* <span style="color:darkblue">'''git config --global user.email your.name@domain'''</span>
 
* <span style="color:darkblue">'''git config --global user.name "Your Name"'''</span>
 
* <span style="color:darkblue">'''git config --global push.default current'''</span>
 
* <span style="color:darkblue">'''git clone <url репозитория>'''</span>
 
 
* создание ветки <br> <span style="color:darkblue">'''git branch <имя ветки>'''</span>
 
* переключение <br> <span style="color:darkblue">'''git checkout <имя ветки>'''</span>
 
* две операции вместе <br> <span style="color:darkblue">'''git checkout -b <имя ветки>'''</span>
 
* посмотреть ветки в своем репозитории <br> <span style="color:darkblue">'''git branch'''</span>
 
* посмотреть ветки на удаленном репозитории <br> <span style="color:darkblue">'''git branch -r'''</span>
 
* создание удаленной ветки (соответствующей текущей ветке) <br> <span style="color:darkblue">'''git push -u origin <имя ветки на удаленном репозитории, обычно такое же, как и локальное>''' </span>
 
* удаление локальной ветки
# <span style="color:darkblue">'''git branch -d <имя ветки>'''</span>. Но в этом случае git иногда ноет, что у вас ветка не слита с HEADом или upstream-branch.
- обновляем master
<br> <span style="color:darkblue">'''git checkout master'''</span>
<br> <span style="color:darkblue">'''git pull --rebase'''</span><br>
 
- ребейзим ветки на master <br>
<span style="color:darkblue">'''git checkout <имя ветки> '''</span> <br>
<span style="color:darkblue">'''git rebase master '''</span> <br>
* master при этом не меняется, то есть если вы хотите просто влить в Вашу ветку общие изменения, на этом надо остановиться.<br>
 
* Только не забудьте перед следующим git pull --rebase(в своей ветке) сделать git push --force origin <имя ветки>, поскольку из-за ребейза <имя ветки> и origin/<имя ветки> разошлись. Иначе, если сделать pull --rebase то вы снова примените к своей ветке свои коммиты.
 
* возвращаемся обратно, делаем fast-forward merge и выливаем в репозиторий <br>
<span style="color:darkblue">'''git checkout master <br>
<span style="color:darkblue">'''git merge <имя бранча> (должно быть написано fast-forward) <br>
<span style="color:darkblue">'''git push</span><br>
 
=== Исправления ===
# сторонние gui git приложения (Валера пользуется <span style="color:blue">'''smartgit'''</span>)
 
* исправление коммитов
 
* отлично работающая штука, если вы сделали какую-то глупость (например, смерджились случайно c master): <br>
::<span style="color:darkblue">'''git reflog</span> <br>
 
* слияние коммитов <br> <span style="color:darkblue">''' git rebase -i <start_point></span> (внимание, ребейз начинается после start point'a)
 
* исправление предыдущего коммита <br> <span style="color:darkblue">''' git commit --amend</span>
 
: откат коммита <br>
::<span style="color:darkblue">''' git reset HEAD~<n></span> (сами файлы в working tree останутся) <br>
::<span style="color:darkblue">''' git reset --hard HEAD~<n></span> (working tree файлы не останутся) <br>
 
: откат из индекса
::<span style="color:darkblue">''' git reset <file name></span>
 
: откат измененного файла
http://git-scm.com/book
 
[[Категория:{{Темы|Программирование]]}}
 
[[Категория:Веб-разработка]]
531

правка