git... modificare l'owner di un commit
Moderatore: Staff
Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
- ZeroUno
- Staff
- Messaggi: 5441
- Iscritto il: ven 2 giu 2006, 14:52
- Nome Cognome: Matteo Rossini
- Slackware: current
- Kernel: slack-current
- Desktop: ktown-latest
- Distribuzione: 01000000-current
- Località: Roma / Castelli
- Contatta:
git... modificare l'owner di un commit
A volte scrivo del codice e lo faccio da diversi pc, allora per stare sincronizzato faccio un repository git.
Puntualmente però mi accorgo (spesso troppo tardi) che i vari pc potrebbero non avere le stesse impostazioni utente/email.
Così ogni tanto trovo dei commit fatti da
"no name" <root@hostname1>
"mio nome" <mail@valida>
"nome mio" <valida@mail>
"username" <username@hostname2>
"apache" <apache@hostname3>
insomma un casino.
Intanto devo imparare che quando do git init devo anche mettere le configurazioni utente/email a livello locale invece che globale per sicurezza, perchè per alcuni repository potrei usare una mail e per altri altre mail, ma dove non l'ho fatto mi ritrovo ormai commit incasinati.
E' possibile con qualche comando git modificare l'owner di un commit passato?
Puntualmente però mi accorgo (spesso troppo tardi) che i vari pc potrebbero non avere le stesse impostazioni utente/email.
Così ogni tanto trovo dei commit fatti da
"no name" <root@hostname1>
"mio nome" <mail@valida>
"nome mio" <valida@mail>
"username" <username@hostname2>
"apache" <apache@hostname3>
insomma un casino.
Intanto devo imparare che quando do git init devo anche mettere le configurazioni utente/email a livello locale invece che globale per sicurezza, perchè per alcuni repository potrei usare una mail e per altri altre mail, ma dove non l'ho fatto mi ritrovo ormai commit incasinati.
E' possibile con qualche comando git modificare l'owner di un commit passato?
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg
Codice: Seleziona tutto
1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111
- paolo86
- Linux 0.x
- Messaggi: 73
- Iscritto il: lun 14 lug 2008, 19:22
- Nome Cognome: Paolo Cortis
- Slackware: Slackware64 current
- Kernel: 3.4.1-jiraiya
- Desktop: KDE 4.8.2
- Località: Cagliari
- Contatta:
Re: git... modificare l'owner di un commit
È successo anche a me da poco... stesso identico problema.. pc diversi e diversa configurazione
Alla fine ho risolto con un piccolo script.
Puoi sostituire la condizione usando le variabili che più preferisci per discriminare le modifiche oppure aggiungere vari elif in stile bash se hai varie condizioni
L'ho lanciato dalla root del progetto (senza modifiche non inviate o non commitate) con "bash ../git_filter.sh" (avevo lo script nella directory superiore), poi ho dato "git push -f" in modo da forzare l'aggiornamento sul server (non fare pull altrimenti genera un altro ramo nell'albero delle commit, mantenendo anche quello vecchio)
Dopo però ho dovuto rifare il clone dei sorgenti su tutti i pc. Non so se è colpa di questo comando o delle altre prove che stavo facendo con git rebase (e che avevo pure pushato... )
Spero di esserti stato utile
Alla fine ho risolto con un piccolo script.
Codice: Seleziona tutto
git filter-branch --commit-filter '
if [ "$GIT_COMMITTER_EMAIL" = "mail_sbagliata@localhost" ];
then
GIT_COMMITTER_NAME="...";
GIT_AUTHOR_NAME="...";
GIT_COMMITTER_EMAIL="nuova_mail@corretta.com";
GIT_AUTHOR_EMAIL="nuova_mail@corretta.com";
git commit-tree "$@";
else
git commit-tree "$@";
fi' HEAD
L'ho lanciato dalla root del progetto (senza modifiche non inviate o non commitate) con "bash ../git_filter.sh" (avevo lo script nella directory superiore), poi ho dato "git push -f" in modo da forzare l'aggiornamento sul server (non fare pull altrimenti genera un altro ramo nell'albero delle commit, mantenendo anche quello vecchio)
Dopo però ho dovuto rifare il clone dei sorgenti su tutti i pc. Non so se è colpa di questo comando o delle altre prove che stavo facendo con git rebase (e che avevo pure pushato... )
Spero di esserti stato utile
- ZeroUno
- Staff
- Messaggi: 5441
- Iscritto il: ven 2 giu 2006, 14:52
- Nome Cognome: Matteo Rossini
- Slackware: current
- Kernel: slack-current
- Desktop: ktown-latest
- Distribuzione: 01000000-current
- Località: Roma / Castelli
- Contatta:
Re: git... modificare l'owner di un commit
Utilissimo, dopo me lo studio bene.
Ma questo mantiene le date dei commit?
L'hash invece mi sa che cambia vero?
Ma questo mantiene le date dei commit?
L'hash invece mi sa che cambia vero?
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg
Codice: Seleziona tutto
1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111
- paolo86
- Linux 0.x
- Messaggi: 73
- Iscritto il: lun 14 lug 2008, 19:22
- Nome Cognome: Paolo Cortis
- Slackware: Slackware64 current
- Kernel: 3.4.1-jiraiya
- Desktop: KDE 4.8.2
- Località: Cagliari
- Contatta:
Re: git... modificare l'owner di un commit
Da me sia le date che gli hash sono rimasti come prima
- ZeroUno
- Staff
- Messaggi: 5441
- Iscritto il: ven 2 giu 2006, 14:52
- Nome Cognome: Matteo Rossini
- Slackware: current
- Kernel: slack-current
- Desktop: ktown-latest
- Distribuzione: 01000000-current
- Località: Roma / Castelli
- Contatta:
Re: git... modificare l'owner di un commit
ok grazie, domani applico.
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg
Codice: Seleziona tutto
1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111