Микросхема - Форум инженеров

Проекты, идеи, схемы и разработки
Текущее время: Пт янв 18, 2019 3:01 am

Часовой пояс: UTC + 2 часа




Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
 Заголовок сообщения: git: "Changing Email Addresses Globally"
СообщениеДобавлено: Чт ноя 29, 2018 7:31 pm 
Не в сети
Site Admin
Аватар пользователя

Зарегистрирован: Вс апр 08, 2007 11:00 pm
Сообщений: 6360
Откуда: KHARKOV or KIEV
Бывает что написал не правильно емейл в конфиге, и куча коммитов с неверным емейлом получились закомичены
Есть возможность это исправить (разумеется что и в .gitconfig нужно тоже исправить на правильное)

вот по этой ссылке https://git-scm.com/book/en/v2/Git-Tool ... ng-History есть раздел, где описано как это исправление делать
Changing Email Addresses Globally

Процитирую полностью:
Цитата:
Changing Email Addresses Globally
Another common case is that you forgot to run git config to set your name and email address before you started working, or perhaps you want to open-source a project at work and change all your work email addresses to your personal address. In any case, you can change email addresses in multiple commits in a batch with filter-branch as well. You need to be careful to change only the email addresses that are yours, so you use --commit-filter:
Код:
$ git filter-branch --commit-filter '
        if [ "$GIT_AUTHOR_EMAIL" = "schacon@localhost" ];
        then
                GIT_AUTHOR_NAME="Scott Chacon";
                GIT_AUTHOR_EMAIL="schacon@example.com";
                git commit-tree "$@";
        else
                git commit-tree "$@";
        fi' HEAD

This goes through and rewrites every commit to have your new address. Because commits contain the SHA-1 values of their parents, this command changes every commit SHA-1 in your history, not just those that have the matching email address.


проверил, создал файл *git-update-emails-CAREFUL.sh
сработало отлично

Код:
git-update-emails-CAREFUL.sh
Rewrite 355953643596486858431a5fcf842a139c4e6b61 (1/18) (0 seconds passed, remaining 0 predict
Rewrite 56ddaae220e1ef5d0ee977da2f64dc34d83f83c4 (2/18) (0 seconds passed, remaining 0 predict
Rewrite 8936c459c9033d02ec9bf89874e28f6ca954dda9 (3/18) (0 seconds passed, remaining 0 predict
Rewrite 78b1ae0bdbb5191309aaed7a24d42835a183cf56 (4/18) (0 seconds passed, remaining 0 predict
Rewrite 1755ee7a19aea4fec6f5f104373c6ccc3c687f56 (5/18) (0 seconds passed, remaining 0 predict
Rewrite 74d7755f308ad90b282e897fc42b436dffff0c85 (6/18) (0 seconds passed, remaining 0 predict
Rewrite dc08c7af2152db6131d391d7ea842348f5ca5c79 (7/18) (0 seconds passed, remaining 0 predict
Rewrite 4c001423cc159e0b79fd41fa0fced927651bd038 (8/18) (0 seconds passed, remaining 0 predict
Rewrite 43e8d2440a8ab3877d024076fbc3ab63d94b879b (9/18) (0 seconds passed, remaining 0 predict
Rewrite 074f4db6ed0a4417bc0ef3db602ffed532df5234 (10/18) (0 seconds passed, remaining 0 predic
Rewrite 5625d595175dc7f4c790851a06e8abc19b12e62d (11/18) (0 seconds passed, remaining 0 predic
Rewrite 31d01e83138c1c42480a562ab5f1f0adf6602539 (12/18) (0 seconds passed, remaining 0 predic
Rewrite 885aaed318aaa607d7299709287c439c85bc790d (13/18) (0 seconds passed, remaining 0 predic
Rewrite 73730aade90ce6df8f5a32c5cb26c7150b4853fd (14/18) (0 seconds passed, remaining 0 predic
Rewrite 3add1fc3d83fc78c4ce12aee0b97ebdacccd6b14 (15/18) (0 seconds passed, remaining 0 predic
Rewrite 5de150e669010479793462977e22af5eb1f74b52 (16/18) (0 seconds passed, remaining 0 predic
Rewrite b389465db12885e9a3d783546cc2a8ccce4ae60b (17/18) (0 seconds passed, remaining 0 predic
Rewrite 0c952f02f58ed65bfe1906d9a5b32c9b2384bffe (18/18) (0 seconds passed, remaining 0 predicted)   
Ref 'refs/heads/stm32f103c' was rewritten


Однако, если commit был сделан с подписью (т.е. с ключем: -s)
Код:
$ git commit -asm "bla-bla-bla"

останется в дискрипшине дополнительная строка с содержимым подписи
Код:
...
Signed-off-by: XXX XXXX <XXXX@gmail.com>

покаместь, я не нашел еще, как это исправить :)

_________________
* Ceci tuera cela.
* Теория и практика иногда сталкиваются. Когда это случается, теория проигрывает. Всегда." (C) Linus Torvalds.


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

Часовой пояс: UTC + 2 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB