Created
March 24, 2015 14:48
-
-
Save AlexMcowkin/3461e77d77157f416473 to your computer and use it in GitHub Desktop.
Git/github list commands
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ----------глобальные настроики--------- | |
git config --global user.name "alexandr makovkin" | |
git config --global user.email "info@makovkin.com" | |
git config --global core.editor "notepad.exe -wl1" | |
git config --global color.ui true | |
// ---------пльзовательские настроики--------- | |
git config user.name "alexandr makovkin" | |
git config user.email "info@makovkin.com" | |
git config core.editor "notepad.exe -wl1" | |
git config color.ui true | |
!!! - соединение через ssh | |
/*********************************************************/ | |
/ -----------ИНИЦИАЛИЗАЦИЯ----------- / | |
git init | |
git add . | |
git add file.name | |
git commit -m "some text explain what we did" | |
-стараться делать строку не более 72 символов (не большие описания) | |
-описывать что делает комит | |
/*********************************************************/ | |
/ -----------ЛОГИРОВАНИЕ----------- / | |
git log | |
git lon -n 3 - просмотреть последние 3 комита | |
git log --since=2014-02-23 просмотреть комиты начиная с 2014-02-23 | |
git log --untill=2014-02-23 просмотреть комиты до 2014-02-23 | |
git lod --author="alexander" посмотреть комиты Alexnander | |
git log --grep="some text" поск комитов в описании которых есть some text | |
gil log --oneline показать короткий вариант | |
git log --since="2 weeks ago" --until="3 days ago" | |
git log branch_name логи указанной ветки [после названия ветки можно использовать вышеуказанные параметры] | |
/*---------статус----------*/ | |
git status | |
/*--------разница----------*/ | |
git diff показать разницу между файлами в репозитории и рабочей папке | |
git diff filename.php показать разницу между файлом в репозитории и рабочей папке | |
git dif --staged показать разницу между файлами в репозитории и в буфере | |
git diff 2j548ds63hjsd показать разницу между файлами репозитория 2j548ds63hjsd и рабочей папки | |
git diff 2j548ds63hjsd filename.txt показать разницу между файлом filename.txt репозитория 2j548ds63hjsd и рабочей папкой | |
git diff 2j548ds..5d564dsd6 показать разницу между файлами репозитория 2j548ds и 5d564dsd6 | |
git diff 2j548ds..5d564dsd6 filename.txt показать разницу между файлом filename.txt репозитория 2j548ds и 5d564dsd6 | |
git diff branch..new_branch показать разницу между ветками branch и new_branch | |
/*-------------------------*/ | |
git show 1a233dd8fd | |
/*********************************************************/ | |
/*****************УДАЛЕНИЕ********************************/ | |
1ая ситуация: [удаляем файл сами ручками] | |
и потом пишем команду | |
git rm filename.txt | |
в этом случаепроисходит удаление файла из репозитория (он удаляется из рипозитория, но не физически) | |
далее git add filename.txt | |
и git commit -m "коментарий" | |
2ая ситуация: [удаляем файл через git] | |
git rm filename.txt | |
в этом случаепроисходит удаление файла из репозитория (он удаляется физически) и изменения атоматом заносятся в буфер | |
и чтоб эти изменения занести в репозиторий, то надо git commit -m "комментарий" | |
/*********************************************************/ | |
/*****************ПЕРЕМЕЩЕНИЕ и ПЕРЕИМЕНОВЫВАНИЕ**********/ | |
git mv filename.txt newfile.txt | |
git mv filename.txt folder/filename.txt | |
/*********************************************************/ | |
/********************ОТМЕНА ИЗМЕНЕНИЙ*********************/ | |
/--- вернуть измениея файла | |
git checkout -- filename.txt | |
вернет последние состояние файла из репозитория (файл в проекте будет перезаписан файлом из репозитория) | |
/--- удалить файл из буфера | |
git reset HEAD filename.txt | |
/-- изменить коммит (!!! можно менять только последний коммит !!!) | |
git commit --amend -m "some comment for this commit" | |
эта команда позволяет внести изменения в последний сделанный комит. | |
/-- | |
git checkout 12a2er556tysa -- filename.txt | |
эта команда переносит файл из комита с хэшэм 12a2er556tysa в буфер | |
затем можно выполнить git reset HEAD filename.txt, | |
чтобь вернуть файл в рабочую дерикторию | |
git reset --soft 34as345dsad5asd76as5 | |
перемещаем указатель на комит с хешем 34as345dsad5asd76as5 | |
/*------------------------------------------------------------*/ | |
/*--------------------GITIGNORE-------------------------------*/ | |
/*------------------------------------------------------------*/ | |
- в папке с проектом создать файл .gitignore | |
- в этом файле записать те файлы, которые не должен учитывать git | |
# так обозначаются коментарии | |
/assets/video/ - будут проигнорированны все вложеные файлы и папки в папке video | |
*.zip - будут проигнорированные все zip архивы в текущей папке | |
!/assets/video/adv.mp4 - файл adv.mp4 будет включен в список индексации | |
пусть раньше у нас был файл filename.txt и мы его отслеживали. | |
но теперь решили добавить его в .gitignore | |
git rm --cached filename.txt | |
-эта команда удаляет filename.txt из буфера, но не из рабочей папки. | |
!!! чтоб отслеживать пустую папку нужно добавить в нее пустой файл .gitkeep | |
/*------------------------------------------------------------*/ | |
/*--------------------ПРОСМОТР СОДЕРЖИМОГО КОМИТА-------------*/ | |
/*------------------------------------------------------------*/ | |
просмотреть список файлов, которые находятся в папке foldername, | |
которые входят в последний комит | |
git ls-tree HEAD foldername/ | |
просмотреть список файлов, которые входят в последний комит | |
git ls-tree HEAD | |
просмотреть список файлов, которые входят в ПРЕДПРЕДпоследний комит | |
git ls-tree HEAD~2 | |
/*--------------------------------------*/ | |
/*--------------------ВЕТКИ-------------*/ | |
/*--------------------------------------*/ | |
// посмотреть на какой ветке мы сейчас находимся | |
git branch | |
// создать ветку | |
git branch new_vetka | |
// переключиться на ветку new_vetka | |
git checkout new_vetka | |
// переименовать ветку | |
git branch -m old_name new_name | |
// удалить ветку (сперва нужно перейти на другую ветку, так как git не может удалить ветку в которой сейчас находишься) | |
git branch -d branch_name | |
/*----слияние веток------*/ | |
чтоб сделать слияние developingBranch к productionBranch | |
нужно переключиться на productionBranch и ввести команду | |
git merge developingBranch | |
/*----конфликты при слиянии веток------*/ | |
// отменить слияние | |
git merge --abort | |
// разрешение конфликтов | |
если при слиянии веток произошел конфликт, то | |
открываем файл и находим проблемные места. | |
они помечаются так: | |
<<<<<<<<<HEAD | |
============ | |
далее нужно заменить данные в файле на те, | |
которые есть в векте, которую мы присоединяем. | |
после внесенных изменений делаем | |
git add filename.txt | |
git commit | |
и все. слияние должно произойти успешно. | |
/*-------------------------------------------------------*/ | |
/*--------------------УДАЛЕННЫЕ РЕПОЗИТОРИИ--------------*/ | |
/*-------------------------------------------------------*/ | |
origin/master - это локальный бранч, которы ссылается на удаленый сервер | |
git remote - выведет список всех удаленый репозиториев, принадлежащих этому проекту | |
git remote add origin https://github.com/AlexMcowkin/zawebisdrupal.git | |
этой командой мы связываем локальный проект с удаленым репозиторием | |
(уазываем ссылку на удаленый репозиторий) | |
git remote rm origin - этой командой мы удаляем ссылку на удаленый репозиторий | |
git push -u origin master - этой командой мы отправляем на удаленый репозиторий origin | |
локальный репозиторий master (где master это название бранча) | |
если хотим послать другую ветку, то пишем | |
git push -u origin new_branch | |
// создание локальной копии репозитория | |
git clone https://github.com/AlexMcowkin/zawebisdrupal.git | |
git clone https://github.com/AlexMcowkin/zawebisdrupal.git folder_name | |
!!! если не указать название папки, то git создаст папку с названием zawebisdrupal | |
// синхронизировать локальную копию с удаленной | |
git fetch origin | |
но чтоб эти изменения с удаленого репозитория были в локальных файлах то надо еще сделать | |
git merge origin/master | |
// создание локального бранча на основе удаленого бранча | |
git branch some_branch origin/some_branch | |
// удаление удаленых бранчей | |
git push origin --delete some_branch |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment