Git выдвигает новую ветку, когда конкретный пользователь забирает старый коммит - PullRequest
0 голосов
/ 01 октября 2018

Чтобы вызвать некоторую автоматизацию, мне нужно перейти к репозиторию gitlab как конкретному пользователю с именем ветви после определенного форматирования.Для справки давайте назовем этого пользователя Joe Programmer <jp@company.com> и имя ветки example-branch.

. Существует уже существующий коммит, который я хочу взять и нажать на gitlab, поэтому я меняю своего пользователя

git config --local user.name "Joe Programmer"
git config --local user.email "jp@company.com"

удалите ветку, если она существует, и отправьте эту удаление также в репо

git push origin --delete refs/heads/example-branch
git branch -D example-branch

извлечение из моего заведомо исправного коммита

git checkout good_commit

иответвление от него

git checkout -b example-branch good_commit

затем я фиксирую с пустым набором изменений и нажимаю на origin.

git commit -m "triggering automation" --allow-empty
git push origin example-branch

Однако, когда я смотрю на Gitlab, я вижу, что он подобрал не только мойпустой коммит (как Joe Programmer), но также и предыдущий коммит, который я назвал good_commit выше, приписывается фактическому человеку, который сделал этот коммит.

Как мне проще всего опустить good_commit, так чтоЕдинственное, что подталкивает к удалению, это мой коммит в качестве программиста Джо?

1 Ответ

0 голосов
/ 01 октября 2018

Один из вариантов, но, вероятно, не идеальный, - изменить последний коммит.

Таким образом, вместо пустого коммита вы будете делать:

git commit  --amend --no-edit --author "Joe Programmer <jp@company.com>"
git push origin example-branch

Насколько я понял,вам нужно сменить автора, поэтому также добавили --author

Таким образом, недостатком является дублирование коммитов с одинаковым содержимым (но разным хешем) для каждой ветви, но, может быть, это лучше, чем у тех пустых, что запускает автоматизацию"совершает.

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