# Git ## Git система Git - распределённая система контроля версий, которая даёт возможность разработчикам возможность отслеживать изменения в файлах и совместно работать с другими людьми. Создана в 2005 году Линусом Торвальдсом ## Github Github - сервис онлайн хостинга репозиториев. ## Комманды ### Конфигурация #### Просмотр настроек ```bash git config --list ``` #### Установка имени и почты ```bash git config --global user.name "John Doe" git config --global user.email "johndoe@example.com" ``` ### Помощь ```bash git help # Помощь по всей команде git help config # Помощь по конкретной команде ``` ### Работа с репозиторием #### Инициализировать пустой репозиторий в текущей папке ```bash git init ``` #### Коммиты ```bash git status # Посмотреть состояние файлов git add . # Добавить все файлы в текущей папке git add -A # Добавить все файлы в текущем репозетории git commit -m "Сообщение" # Сделать коммит с сообщением git commit -am "Сообщение" # Сделать коммит со всеми изменёнными файлами (новые файлы не добавляются) git rm test.txt # Удаляет файл из git и из папки git rm --cached test.txt # Удаляет файл из git но не из папки git log # Посмотреть коммиты git log --pretty=format:"%h - %an, %ar : %s" # Красивенький вывод, но мне не нравится git log -p # Кроме обычного ещё покажет diff git log --since=2.weeks # За последние 2 недели git checkout o9bcdsb text.txt # Возвращает файл к состоянию нужного коммита ``` #### Работа с remote ```bash git clone https://github.com/torvalds/linux.git # Скопировать репозиторий git remote add origin https://github.com/torvalds/linux.git # Добавить ссылку к существующему локальному репозеторию git push # Отправляет ветку git push -u origin master # master - название ветки. Эта команда нужна только при первой отправке ветки ```