git обновить последнее сообщение фиксации для указанного c файла - PullRequest
0 голосов
/ 20 июня 2020

В этой конкретной ситуации я использую 1 файл фиксации = 1.

Я знаю, что использование параметра --amend для фиксации обновит ПОСЛЕДНЮЮ фиксацию, но как я могу обновить последнее сообщение фиксации для определенного c файла?

Это, конечно, не работает:

git commit -o somefile.js -m "new message" --amend

Мне нужно сделать это неинтерактивно, чтобы его можно было вызвать в одном line command.

Есть ли решение?

Ответы [ 2 ]

2 голосов
/ 20 июня 2020

git rebase -i <commit hash before the one you want to change>

Вам будет представлен список коммитов. Найдите коммит, который хотите изменить. После этого измените первую букву или слово в этой строке (вероятно, это будет p или pick, если я правильно помню) на r (для reword).

Сохраните и выйдите, как при выполнении git commit, и вам будет представлен текстовый редактор по умолчанию и ваше сообщение фиксации, которое нужно изменить.

Внесите нужные изменения перед сохранением и выходом из него. После этого вам нужно будет выполнить git push -f, поскольку вы изменили сообщение фиксации с помощью интерактивной перебазировки.

0 голосов
/ 20 июня 2020

Я думаю, что это не очень хорошая практика для фиксации для каждого файла, потому что каждая фиксация в git большую часть времени должна определять определенные c изменения или предоставлять некоторые функции или исправления в вашем репозитории, но если вы хотите изменить Speci c фиксация сообщения в вашем репозитории, вы можете сделать это:

$git checkout <your hash commit>
$git commit --amend -m "New message"
$git push --force repository-name branch-name

Более безопасная альтернатива - использовать:

$git push --force-with-lease repository-name branch-name

В отличие от --force, которая уничтожит любые изменения иначе отправлено в ветку, --force-with-lease будет прервана, если в репозитории произошли изменения в восходящем направлении. Если сообщение необходимо изменить для более ранней фиксации, то можно использовать интерактивный инструмент rebase :

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...