Команды Git - это важный урок, который в какой-то момент должен усвоить каждый аналитик данных. Чтобы использовать весь потенциал популярной системы управления версиями Git, необходимо знать, как использовать популярные Git команды.

Часто используемые команды Git

Git Setup

git init [directory]   --- Превращает текущий каталог в репозиторий Git
git clone [repo / URL]   --- клонировать / загрузить репозиторий на локальный компьютер
git clone [URL] [folder]   --- клонировать репозиторий из удаленного места в указанную папку | [папка] | на вашем локальном компьютере

Git Configuring

git config --global user.name "[your_name]"   --- установить имя автора, которое будет прикреплен ко всем коммитам текущего пользователя
git config --global user.email "[email_address]" --- установить адрес электронной почты, который будет прикреплен ко всем коммитам текущего пользователя
git config --globalcolor.ui auto  --- установить автоматическую командную строку Git раскраска
git config --global alias.[alias_name][git_command]    --- создать ярлык (псевдоним) для Git команд
git config --systemcore.editor[text_editor]    --- установить текстовый редактор по умолчанию для всех пользователей на машине
git config --global --edit   ---открыть глобальную конфигурацию Git файла

Managing Files

git status   --- показывает состояния файлов в рабочей директории и индексе: какие файлы изменены, но не добавлены в индекс; какие ожидают коммита в индексе.
git log    --- используется для просмотра истории коммитов, начиная с самого свежего и уходя к истокам проекта. 
git log --all     --- используется для просмотра истории коммитов из всех веток
git log start-branch..end-branch    --- перечисляет все коммиты, доступные из end-branch , которые недоступны из start-branch
git log start-branch...end-branch    --- перечисляет все коммиты, доступные либо из start-branch , либо из end-branch , но недоступные как из start-branch , так и из end-branch 
git dif   --- увидеть разницу между рабочим каталогом и индексом (каких изменений не было еще совершено )
get diff --cached    --- увидеть разницу между последним коммитом и индексом
get diff HEAD     --- увидеть разницу между последним коммитом и рабочим каталогом
git show [object]     --- используется для просмотра информации о метке или коммите 

Git Branches

git branch   --- умеет перечислять ваши ветки, создавать новые, удалять и переименовывать их
git branch -a     --- перечисляет все удаленные ветки
git branch [branch]     --- умеет составлять список ваших веток, создавать новые, удалять и переименовывать их
git checkout [branch]   --- переключиться на другую ветку (либо существующий или создать новую ветку под указанным именем]
git branch -d [branch]    --- удалить локальную ветку
git branch -m [new_branch_name]   --- переименовывает ветку, в которой вы находитесь в настоящее время
git merge [branch]    --- объединият указанную ветку с текущей веткой

Rewriting History

git commit --amend     --- изменяет предыдущий коммит, вместо того чтобы создавать новый
git rebase [base]     --- переносит текущую ветку поверх <base>. <base> - может быть хешем коммита, именем ветки, тегом или относительной ссылкой на HEAD.
git reflog    --- перечисляет изменения, внесенные в HEAD локального репозитория

Remote Repositories

git remote add [name] [URL]    --- создает новое соединение с удаленным репозиторием и дайет ему имя, чтобы служить ярлыком для URL
git fetch [remote_repo] [branch]    --- получает ветку с удаленного хранилища
git pull [remote_repo]     --- получить указанный репозиторий и объединить его с локальной копией
git push [remote_repo] [branch]    --- отправляет ветку в удаленный репозиторий со всеми ее коммитами и объектами

Undoing Changes

git revert [file/directory]    --- отменяет все изменения в указанном файле / каталоге, создает новый коммит и применяет его к текущей ветке
git reset [file]    --- отключает указанный файл без перезаписи и изменений
git reset [commit]   --- отменить все изменения, которые произошли после конкретного коммита
git clean -n    --- посмотреть, какие файлы следует удалить из текущего каталога
git clean -f    --- удалит ненужные файлы в каталоге

Making Changes

git add [file/directory]     --- добавляет содержимое рабочей директории в индекс (staging area) для последующего коммита
git add .    --- работает только в текущей директории
git commit -m "[descriptive_message]"   --- записать изменения с заданным сообщением

Ubuntu: Show your branch name on your terminal

Add these lines in your ~/.bashrc file

# Show git branch name
force_color_prompt=yes
color_prompt=yes
parse_git_branch() {
 git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'
}
if [ "$color_prompt" = yes ]; then
 PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[01;31m\]$(parse_git_branch)\[\033[00m\]\$ '
else
 PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w$(parse_git_branch)\$ '
fi
unset color_prompt force_color_prompt
⤧  Next post Regex шпаргалка