Git шпаргалка
Команды 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