2012-06-04 10 views
16

Vorrei cambiare il nome dell'account Github, ho trovato un'opzione nelle impostazioni dell'account GitHub.Come cambiare in sicurezza il nome dell'account Github?

Tuttavia, sono preoccupato per le conseguenze e vorrei sapere qual è la migliore strategia di cambio di nome, considerando che ho alcuni progetti da me legati a questo account.

Finora, sono arrivato fino a questo piano:

  1. Variazione nome account nel GitHub Opzioni
  2. Per cartella locale di ogni progetto in '.git/config' aggiornamento del file remota "origine" url a quello nuovo

Sarà questo lavoro? Dovrebbero esserci ulteriori passaggi su un computer che contiene le sorgenti del progetto? Quale sarà l'effetto del cambio di nome su chi ha clonato o biforcato i miei progetti su GitHub?

Grazie!

+2

Che cosa ha detto GitHub quando li hai contattati con questa domanda di supporto riguardante il loro prodotto? –

+0

Hanno inviato questo messaggio: ---------------------------------------- Da: Tekkub (GitHub Staff) Oggetto: Ridenominazione dello scenario dell'account utente Per (2), è meglio non modificare direttamente la configurazione, provare questo: https://help.github.com/articles/changing-a-remote-s -url Correggere gli URL è l'unica cosa di cui devi preoccuparti con la ridenominazione, nient'altro cambia. ---------------------------------------- Che ha funzionato bene. L'unica cosa - chi ha clonato il mio progetto a livello locale avrebbe bisogno di ri-clonare o aggiornare i telecomandi manualmente –

risposta

14

1.) È necessario modificare tutti gli indirizzi remoti dei progetti. Potete vederli tramite:

git remote -v 

Dopo di che rimuovere il vecchio addres remoti:

git remote rm [email protected]:old_account/foo.git 

infine aggiungere il nuovo indirizzo remoto:

git remote add origin [email protected]:new_account/foo.git 

2.) Tutti i tuoi repos clonati saranno interruzione. Non esiste alcun reindirizzamento URL o qualcosa di simile. È possibile modificare i repository locali clonati, ma altri devono puntare al nuovo repository (come nel passaggio 1)

Nota: i repository biforcati Github funzionano senza problemi.

+2

Funziona bene! Inoltre, c'è un comando leggermente diverso per ottenere lo stesso risultato: https://help.github.com/articles/changing-a-remote-s-url –

+0

Le forcelle non si rompono. Forse vuoi modificarlo. – Petros

+0

@Petros con fork intendevo in realtà "clone git" da altre persone. Ma a Github hai ragione. Perché tutte le forcelle hanno origini remote diverse. Grazie per l'avviso! Lo cambierò –

3

ho lasciato uno scritto nel mio ~/bin chiamato git-reremote con il seguente contenuto:

#!/bin/sh 
old=richoH 
new=richo 
git remote -v | grep $old | while read name url type; do 
    newurl=`echo $url | sed -e "s/$old/$new/"` 
    git remote set-url $name $newurl 
done 

E 'un po' di hack, ma funziona bene abbastanza, basta cd nella repo git e chiamare git reremote (dopo essersi assicurati che sia nel vostro $PATH e anche che avere corretto gli vecchie e nuove variabili.

12

GitHub ha recentemente cambiato il loro sistema nome utente rinomina, e ora imposta redirect per voi.

Da.210 su Help GitHub:

Sul lato GitHub, tutto si comporterà come se il tuo nuovo nome utente aveva sempre stato il tuo nome. Tutti i tuoi repository apparterranno ora a che il nuovo nome e il vecchio nome utente in pratica non esisteranno più. Questo può richiedere alcuni minuti per completare dopo aver avviato la modifica.

I collegamenti alla pagina precedente del profilo, ad esempio https://github.com/previoususername, restituiscono un errore 404. Non è possibile impostare un reindirizzamento dal vecchio nome utente a quello nuovo per riferimenti come @mentions.

Tuttavia, i reindirizzamenti sono impostati per tutti i repository. Sia il web che l'accesso a git continuano a funzionare e reindirizzano verso il nuovo nome utente.

Problemi correlati