Есть ли способ отслеживать команды, которые я использовал в Git под Windows? Я хочу просмотреть все команды, которые я применил в своем репозитории.
Я хочу иметь возможность вернуться к истории команд и выяснить, какая команда вызвала проблему, если она возникла.
Просмотр истории коммитов - это одно, но отслеживаются ли они для ведения истории других действий, таких как создание ветки или добавление пульта?
.git/logs
, вы увидите историю того, на что указала каждая ветка.push
ing не изменяет состояние локальной ветки,reflog
очевидно, что не хранитpush
es, поэтому просмотр.git/logs/refs/remotes/*/*
- единственный способ увидеть вашуpush
историю.Ответы:
git покажет изменения в коммитах, которые влияют на индекс, например
git rm
. Он не хранит журнал всех выполняемых вами команд git.Однако, большое количество GIT команд влияют на индекс в какой - то образом, например, создание новой ветви. Эти изменения будут отображаться в истории коммитов, которую вы можете просмотреть
git log
.Однако есть деструктивные изменения, которые git не может отслеживать, например
git reset
.Итак, чтобы ответить на ваш вопрос, git не хранит абсолютную историю выполненных
git
вами команд в репозитории. Однако часто можно интерполировать, какую команду вы выполнили, через историю фиксации.источник
git history
может быть полезен, например, для просмотра того, какие команды были выполнены в конкретном клоне .git reflog
это то, что вы хотите. См. Ответ ниже.git reflog
фактически показывает сами команды. Кроме того, кстати, оболочка - это лишь немного более прямой способ вывести команды git, но репозиторий git может быть затронут несколькими оболочками. Лучше спросить у git, какие команды использовались.Вы можете увидеть историю с помощью git-reflog ( пример здесь ):
источник
git reflog
покажет все позиции, за которыми следила ваша HEAD, но на самом деле он не покажет все команды git. Команды Git, которые не двигают голову (напримерgit branch -D my_precious_branch
), там не отображаются.git reflog --all
?git remote add foo bar
. он не появитсяgit reflog --all
, так как не изменяет указатель HEAD.git reflog
не показывает мне такие команды, какgit status
aso., с--all
параметром или без него .Журнал ваших команд может быть доступен в истории вашей оболочки.
Если вы не видите пролетающий список выполненных команд, экспортируйте список в файл.
Вы можете ограничить экспортируемый дамп, чтобы отображались только команды с "git" в них, пропустив его с помощью grep
История может содержать строки в таком формате
Используя номер, вы можете повторно выполнить команду с восклицательным знаком
источник
Если вы используете CentOS или другую версию Linux, просто нажмите
Ctrl
+R
в командной строке и введитеgit
.Если вы продолжите нажимать
Ctrl
+,R
будет выполнен обратный поиск в вашей истории команд, начинающихся сgit
источник
Введите
history
свой терминал. Технически это не мерзавец, но я думаю, что это то, что вам нужно.источник
Если вы используете Windows PowerShell, вы можете ввести «git» и нажать F8. Продолжайте нажимать F8, чтобы просмотреть все ваши команды git.
Или, если вы используете cygwin, вы можете сделать то же самое с ^ R.
источник
Я обнаружил, что в моей версии git bash «2.24.0.windows.2» в моей «домашней» папке для пользователей Windows будет файл с именем «.bash-history» без расширения файла в этой папке. Он создается только после выхода из bash.
Вот мой рабочий процесс:
Если вам действительно нужны очки, я думаю, вы могли бы сделать пакетный файл, чтобы сделать все это, но для меня этого достаточно. Надеюсь, это кому-то поможет.
источник