Для всего есть команда git)
Команды Git не всегда интуитивно понятны. Приведем список самых популярных 10 команд на все случаи жизни. Они очень полезны для выполнения общих задач, таких как создание или переименование ветки git, удаление файлов и отмена изменений.
Если вы все еще изучаете Git, этот список написан как шпаргалка, и его стоит сохранить в закладки.
Команды Git :
# 1 – git create branch
# 2 – git force pull
# 3 – git remove untracked files
# 4 – git unstage
# 5 – git undo merge
# 6 – git remove file
# 7 – git uncommit
# 8 – git diff between branches
# 9 – git delete tag
# 10 – git rename branch
1. git create branch: создает новую ветку с помощью git checkout
Самый быстрый способ создать новую ветку — сделать это из терминала git. Таким образом, вам не нужно использовать пользовательский интерфейс GitHub, если вы используете GitHub для контроля версий. Эта команда на самом деле существует в git, только под другим именем — `$ git checkout`.
Как создать ветку с помощью git checkout
Однострочная команда: `$ git checkout -b master`
Совет по Git: как и в случае с сообщениями коммитов, установка информативных имен для веток git — это хорошая практика.
2. git force pull: перезаписать данные с помощью git pull
Это необходимо, если вы обнаружите, что внесли изменения, которые, по-видимому, противоречат исходным изменениям. На этом этапе вы решаете перезаписать свои изменения, а не сохранять их, поэтому вы выполняете `$ git pull` и получаете следующее сообщение об ошибке:
The problem is that you don’t want to commit your changes, you want to overwrite them!
Как перезаписать локальные изменения с помощью git pull
Спрятать локальные изменения: `$ git stash`
Извлечь изменения с удаленного сервера: `$ git pull`
Совет Git: если вы хотите посмотреть свои изменения, просто выполните: `$ git stash apply`
3. git remove удалить git remove untracked files: delete untracked files from working tree.
Если в вашей локальной копии репозитория есть ненужные файлы и каталоги, и вы хотите удалить эти файлы, а не просто игнорировать их (с помощью .gitignore), вы можете использовать git clean для удаления всех файлов, которые не отслеживаются git. .
Как удалить неотслеживаемые файлы и каталоги
Начните с команды запуска, чтобы увидеть, что будет удалено: `$ git clean -n -d`
Убедившись, запустите команду git clean с флагом -f: `$ git clean -f -d`
Совет Git: вместо отмены отслеживания файлов рекомендуется в первую очередь предотвратить отслеживание этих файлов с помощью файла .gitignore.
4. git unstage: unstage file(s) from index
Когда вы добавляете файлы ($ git add) в рабочее дерево, вы добавляете их в промежуточную область. Если вы хотите, чтобы Git перестал отслеживать определенные файлы в рабочем дереве, вам необходимо удалить их из ваших файлов рабочей области (.git/index).
Как удалить файл(ы) из рабочей области.
Сохраните файл, но удалите его из рабочей области : `$ git rm --cached`
Чтобы оставить все рабочее дерево нетронутым, удалите все файлы (очистите индекс): `$ git reset`
Совет Git: вы также можете отменить отслеживание файлов, которые уже добавлены в репозиторий git, на основе .gitignore.
5. git undo merge: прервать (отменить) слияние веток после того, как оно произошло
Иногда вы попадаете в ситуацию, когда вы объединили ветки и понимаете, что вам нужно отменить слияние, потому что вы не хотите выпускать код, который вы только что объединили.
Как прервать (отменить) слияние и сохранить все зафиксированные измененния:
- Проверьте ветку master: `$ git checkout master`
- Запустите git log и получите идентификатор коммита слияния: `$ git log --oneline`
- Отменить слияние по идентификатору коммита: `$ git revert -m 1`
- Зафиксируйте возврат и отправьте изменения в удаленное репо.
Совет Git: вместо того, чтобы отменять слияние, работайте с пул-реквестами настройте их и улучшите процесс проверки кода, чтобы снизить вероятность ошибочного слияния.
6. git remove file: удалить файл(ы) из фиксации на удаленном компьютере
Вы хотите удалить файл (или файлы) на удаленном компьютере, возможно, потому, что они устарели или потому, что эти файлы вообще не должен быть там. Итак, вам интересно, каков протокол для удаления файлов из удаленного репозитория git?
Как удалить файл(ы) из коммита
- Удалите файлы: `$ git rm`
- Зафиксируйте свои изменения: `$ git commit -m "удаление файлов"`
- Отправьте свои изменения в git: `$ git push`
Совет Git: когда файл удаляется из Git, это не означает, что он удаляется из истории. Файл будет «жить» в истории репозитория до тех пор, пока файл не будет полностью удален.
7. git uncommit: отменить последний коммит
Вы сделали коммит, но теперь жалеете об этом. Возможно, вы случайно закоммитили не тот код не или, может быть, вы хотите добавить больше тестов к коду.
Как разкоммитить (отменить) последний коммит
- Чтобы сохранить изменения коммита, который вы хотите отменить: `$ git reset --soft HEAD^`
- Чтобы уничтожить изменения коммита, который вы хотите отменить: `$ git reset --hard HEAD^`
Совет Git: git pre-commit hook — это встроенная функция, которая позволяет вам настроить скрипты, которые будут запускаться автоматически перед каждым коммитом.
8. git diff между ветками
Когда вы работаете с несколькими ветками git, важно иметь возможность сравнивать и сопоставлять различия между двумя разными ветками в одном репозитории. Вы можете сделать это с помощью команды $ git diff.
Как получить разницу между двумя ветками
- Найдите разницу между двмя ветками: `$ git diff branch_1..branch_2`
- Создайте разницу между двумя ветвями из коммита общего предка: `$ git diff branch_1...branch_2`
- Зафиксируйте измеения: `$ git diff branch1:file branch2:file`
Совет Git: diff-so-fancy — отличное решение с открытым исходным кодом, позволяющее сделать ваши diff удобочитаемыми.
9. git delete tag: удалить тег из ветки
В случае коммита с ошибками в тегах вы, вероятно, не хотите, чтобы кто-то случайно увидел неверные теги в вашем коде. Лучшее решение — удалить тег и удалить связь между релизом и связанным с ним тегом.
Как удалить тег, стерев его из ветки
- используйте `$ git push origin :refs/tags/`
- Если вам также необходимо удалить тег локально: `$ git tag -d`
Совет Git: не знаете, когда и зачем использовать теги? Читайте статью, чтобы узнать больше.
10. git переименовать ветку: изменить имя ветки
Как я уже упоминал, наличие соглашения об именовании веток является хорошей практикой и должно быть принято как часть ваших стандартов при написание кода, и это оченнь полезно для поддержки автоматизации рабочих процессов git. Но что делать, когда вы обнаружите, что имя вашей ветки не соответствует соглашению, после того как вы уже отправили код в ветку? Не волнуйтесь, вы все еще можете переименовать свою ветку.
Как переименовать название ветки после ее создания
Проверьте ветку, которую нужно переименовать: `$ git checkout`
Локальное переименуйте ветку: `$ git branch -m`
Сотрите старую ветку с удаленного сервера: `$ git push origin: `
Сбросьте эту ветку и укажите новое имя : `$ git push origin -u`
Тут вы можете найти большую шпаргалку по гит командам.
#github #git #программист #программирование