Работа с Git
git init
git init - инициализирует репозиторий
git clone https://github.com/shorten/js.git
git status
покажет нам состояние системы
git add <filename>
добавит один файл
git add *
Удаление папки из индекса, которую по ошибке добавили
git rm -r --cached path_to_your_folder/
Добавим данные из индекса в HEAD
git commit -m "текст вашего сообщения о том, что изменено"
Если выдается сообщение please tell me who you are
то выполняем
git config --global user.email "[email protected]"
git config --global user.name "Your Name"
Залитие файлов на Github
Добавим адрес удаленного хранилища
git remote add origin <server>
Вместо
Можно проверить установилось ли хранилище с помощью команды
git remote show origin
Отправим данные на удаленное хранилище из ветки master
git push origin master
добавит все файлы из директории
.gitignore
Те папки, которые мы не хотим видеть в репозитории, например node_modules нужно добавить в файл .gitignore
Чтобы посмотреть какие файлы и папки игнорируются
git status --ignored
Чтобы узнать каким правилом игнорируется данный файл
git check-ignore -v filename
Добавление пустой папки в репозиторий
Полностью пустые директории игнорируются Git'ом, поэтому можно создать директорию с пустым файлом .gitkeep
Вариант с .gitignore приведет к тому, что в дальнейшем папки добавленные в проект будут также игнорироваться.
README.md
Шпаргалка по Markdown https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet
Синхронизация локального и удаленного(remote) репозиториев
Просмотр разницы между локальной веткой и удаленной(remote)
git diff master origin/master
Для выхода из сравнения нужно нажать q
Если нужно перезалить локальные файлы файлами из репозитория
git fetch --all
Then, you have two options:
git reset --hard origin/master
OR If you are on some other branch:
git reset --hard origin/<branch_name>
Создание новой ветки и перенос ее на Github
git checkout -b <branch>
Делаем коммит измененных файлов
Добавляем ветку еще и на Github
git push -u origin <branch>
Скачивание проекта из нужной ветки
git clone http://whatever.git -b branch-name
Краткий стартовый мануал по Git http://rogerdudler.github.io/git-guide/
Cheatsheet по различным ситуациям https://gist.github.com/jedmao/5053440
Работа с ветками
О feature branch https://bocoup.com/blog/git-workflow-walkthrough-feature-branches
Workflow https://confluence.atlassian.com/bitbucket/workflow-for-git-feature-branching-814201830.html
https://www.atlassian.com/git/tutorials/comparing-workflows
Набор красочных скетчей по Git (Meow Git или Git Puss) https://twitter.com/girlie_mac/status/905270297128865792
Очень емкий мануал по всяким проблемным ситуациям с git http://ohshitgit.com
Заливка проекта на github
http://gotit.com.ua/administration-systems-i-services/kak-zalit-proekt-na-github-com.html
Создание ssh-ключа
https://docs.joyent.com/public-cloud/getting-started/ssh-keys/generating-an-ssh-key-manually/manually-generating-your-ssh-key-in-windows
Создание ветки на git
https://github.com/Kunena/Kunena-Forum/wiki/Create-a-new-branch-with-git-and-manage-branches
Советы по Git'у от Mail.ru
https://habrahabr.ru/company/mailru/blog/267595/
Полезное чтиво:
Ежедневная работа с Git https://habrahabr.ru/post/174467/
Интерактивный тур по Git'у https://githowto.com/ru
Почему нужно перестать использовать Git rebase https://habrahabr.ru/company/mailru/blog/340558/
Курс по git с кучей заданий http://gitimmersion.com
Методология Gitflow https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow
Практика
- Создать новую ветку feature_readme, сделать файл README.md, добавить его в эту ветку. Объединить ветку с веткой master, залить на github.