git log --no-merges
Эта команда показывает полную историю коммитов, за исключением коммитов, которые объединяют 2 ветки вместе или разрешают конфликты, которые возникают при слиянии веток. Это позволяет вам быстро просмотреть все изменения, сделанные в проекте, без слияния, «захламляющего» историю Git.
git revert --no-commit [commit]
git revert создает новый коммит, который отменяет изменения, сделанные существующими коммитами и генерирует новый коммит с текущим контентом. Если вы желаете отменить именованные коммиты и избежать автоматических коммитов, используйте ключ --no-commit или сокращенный ключ –n.
git diff –w
git diff показывает разницу между двумя коммитами, ветками или файлами на диске. Когда над одним проектом работает большое количество людей, часто происходят изменения из-за разных настроек отступов в текстовом редакторе. Чтобы игнорировать различия, вызванные пробелами при сравнении строк, вы можете использовать команду с флагом -w.
git diff --stat
Показывает изменения в каждом файле за все время. Вы можете использовать 3 параметра в этой команде: width, name-width и count. Все эти параметры служат для ограничения ширины вывода на экран.
git reset --soft HEAD^
Команда отменяет последний коммит, не затрагивая ваши изменения (они сохранятся). После выполнения этой команды все файлы будут переведены в состояние "staged for commit". Вам только останется выполнить команду git commit, чтобы добавить их обратно в коммит.
git stash branch [branch-name] [stash]
Эта команда создает новую ветку с именем [branch-name] и проверяет ее, а затем применяет к ней изменения от заданного тайника [stash] и удаляет тайник. Если имя тайника не задано, команда использует последний тайник. Это позволяет хранить любые спрятанные изменения в более безопасной среде, которая впоследствии может быть объединена с веткой master.
git branch –a
При выполнении этой команды будет показан список всех удаленных и локальных веток. Вы можете использовать ключ --merged, чтобы увидеть только те ветки, которые полностью объединены с веткой master. Таким образом, вы сможете отслеживать ваши ветки и находить те, которые больше не используются и могут быть удалены.
git commit --amend
С помощью команды git commit -–amend вы можете изменить ваш предыдущий коммит вместо того, чтобы создавать новый. Если вы еще не перенесли изменения в удаленную ветку, можете использовать эту команду для внесения правок в последний коммит: добавить ваши последние изменения, а также изменить комментарий коммита.
git pull --rebase
git pull --rebase убирает ваши локальные коммиты, обновляет ветку и потом после обновления снова применяет ваши коммиты. Ключ --rebase может использоваться для обеспечения линейной истории, предотвращая ненужные коммиты при объединении веток.
git add -p
Если вы используете эту команду, то вместо того, чтобы сразу добавлять все изменения в индекс, проходя через каждое изменение вам необходимо будет указать, что нужно сделать с конкретным изменением. Таким образом, команда позволяет вам интерактивно выбирать необходимое действие.
Оригинал статьи - https://tutorialzine.com/2017/11/10-useful-git-tips
Перевод: Матвей Земсков