Skip to content

Instantly share code, notes, and snippets.

@YakovSPb
Last active October 10, 2020 09:29
Show Gist options
  • Save YakovSPb/d48dab0fa8091b322a366cac08d47300 to your computer and use it in GitHub Desktop.
Save YakovSPb/d48dab0fa8091b322a366cac08d47300 to your computer and use it in GitHub Desktop.
github
Php Storm
========================
1. Выбираем VHS > Enable Version COntrol Integration
2. В корне папки проекта создамем файл .gitignore и пишем в нем .idea (исключения)
3. Добавляем всю папку в git crl+alt+a (файлы становятся зелеными)
4. Создаем репозиторий VHS > Import intro Version Control > Share project on GitHub
Sublie Text
=====================
Устанавливаем пакет Sublime Text Git
1. Создаем новый репозиторий в GitHub/Bitbucket.
2. Создаем папку проекта с файлом .gitignore (в нем пишем форматы файлов и пути, которые не должны отслеживаться системой контроля версий: всякие логи *.log, временные файлы *.tmp, пути /trash и т.п.)
3. В терминале находясь в данной директории инициализируем git.
git init
4. В ST пишем код и сохраняем в этой директории.
5. В терминале смотрим изменения, добавляем и ставим в очередь на коммит в git все созданные файлы/директории
git status
git add -A
6. Делаем коммит-мерж
git commit -m 'Initial commit'
7. Добавляем связь с удаленным репозиторием
git remote add origin https://github.com/YakovSPb/2kovsha
git remote -v
8. Пушим локальные изменения в удаленный репозиторий
git push origin master
Далее в процессе работы повторяем пункты 4-8.
Если нужно затянуть новый удаленный репозиторий
git clone https://github.com/repo
ПЕРЕЗАПИЛИТЬ репозиторий
git remote set-url origin https://
Команды
==========================
Установка Имени и почты
git config --global user.name "YakovSPb"
git config --global user.email yakov_dux@bk.ru
Создание копии
==========================
1. Заходим на репозитория проекта и нажимаем Fork
2. Нажимаем кнопку "Clone or download" и копируем ссылку на проект
3. Заходим в папку проекта и открываем командрую строку пишем
git clone https://github.com/aleksandr-staetskiy/crop-media.git
4. Делаем изменение
5. git status
Смотрим изменения. Modified - измененные файлы. Untrackecd - неотслеживаемые файлы
6. Довляем файлы в index
git add my.html
7. Или добавляем все изменения
git add -A
8. Комментируем
git commit
9. Первую строку добавляем обязательно
10. Отправляем
git push
ОСНОВНЫЙ КОМАНДЫ
========
1. Настройка git для комментов
git config --global user.name "Yakov Kondratev"
git config --global user.email "prospektpro673@gmail.com"
2. В папке проекта инициализируем git
git init
3. Добавить файл в коммит
git add text.txt
4. Добавить коммит
git commit -m "First Commit"
5. Просмотр активных коммитов
gitk
6. Текущее состояние нашего репозитория
git status
7. Индексация файлов
git add index.txt // добавить файл
git add * //добавить все файлы
git add . //добавить все файлы только в этой директорие
===
8. История коммитов
git log
q // выйти из коммитов
git log --pretty=oneline // удобынй вывод в одну линию
git log --pretty=oneline --max-count=3 //последние три коммита
git log --pretty=oneline --all // вывести все коммиты в одну линию
git log --pretty=oneline --author="Yakov" //вывод по автору
git log --pretty=format:"%h - %s : %ad [ %an ]" --date=short //хеш коммит дата юзер
9. Git checkout
git checkout 6298b8a // переход к точке 6298b8a
ls //посмотреть файлы
git checkout master // вернуть файлы, которые были на ветке
10. Отменить индексацию
git reset HEAD text.txt // сбористь индексацию
git ckeckout text.txt // вернуть к начальному состоянию файл
git rm --cached * //сбросить индексацию всех файлов
11. Отмена коммита
git revert HEAD --no-edit // К последнему коммиту
git revert 6298b8ab558a2f39e92fc4336fbe4c2e76d9903f --no--edit //вернуть к хешу
12. Решение конфликтов
git revert --about // отмена измениния
git add index.html// добавляем файл, которого не было в индексе в этом хеше
13. Ветки
git branch //увидеть все ветки
git checkout -b newbranch // создание новой ветки
git checkout dev // перейти на ветку dev
14. Слияние веток и решение конфликтов слияния
git merge dev //сливает ветку dev с актвиной, лучше использовать с публичными ветками
При конфликте изменям файл, добавляем в индекс и коммитим без коммента git commit
а в конце предложенного коммита пишем :wq
15. git rebase // не стоит сливать с веткой где все работают
git rebase master // сливает тоже коммиты (рекомендуется для сливание своих локальных веток) где вы только работаете
16. git clone //качает копию репозитория
git clone https://github.com/YakovSPb/MyTaskApp.gi
17. добавить репозитория
git remote add origin https://github.com/YakovSPb/git-sample.git
git push -u origin master // Закачивает файлы на репозиторий
18. git push // загружаем изменения
git push origin newbranch // загружаем новую ветку
19. git pull - вытянуть изменения с github
git pull origin master // получить изменения с основной ветки
git pull --rebase origin master // вытянет с удаленного репозитория и поверх его наложит локальные изменения
20. Origin и stash
git stash // откладываются изменения
git pull --rebase origin master // вытаскиваем изменения
git stash pop //достаем отложенные изменения и удаляем из корзины
git stash list //посмотреть корзину отложенныз изменений
git stash show //посмотреть последние изменение
git stash apply //применить последнее изменение
git stash drop //удаляет полследние изменение из корзины
git stash clear //убрать мусор из корзины(аккуратно использовать)
git remote //посмотреть удаленные сервера
ОСНОВНЫЕ ОШИБКИ
1. Если закомитиль, но за был добавить файл
add забытыйфайл
git commit --amend
git commit --amend //просто изменить коммит
2. Восстановить файл, который поменял (если уже добавил в индексацию, то отмени)
checkout имя файла
3. Восстановить все файлы к последнему коммиту
git reset --hard
4. Откатить коммит по хешу (когда первый коммит неправильный, а второй правильный)
git revert adc104fbce8aaa6f4e1097ce76f17d3f988e0158
4. Откатить до состояние несколько коммитов назад
git reset --hard 06be8aaec004fc0dfd9a7ec5820c31f9674ff64c
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment