Come rinominare un repository su GitHub?


317

Volevo rinominare uno dei miei repository su GitHub, ma mi sono spaventato quando un grande avvertimento rosso ha detto:

  1. Non imposteremo alcun reindirizzamento dalla vecchia posizione
  2. Sarà necessario aggiornare i repository locali per puntare alla nuova posizione
  3. Il completamento della ridenominazione potrebbe richiedere alcuni minuti

Qualcuno ha istruzioni dettagliate su come realizzare manualmente il numero 1 e il numero 2? O cosa devo fare localmente?


7
Non è più necessario aggiornare il reop locale dopo aver rinominato un repository Github. Vedi la mia risposta qui sotto .
VonC,

2
Su Bitbucket, vai alle impostazioni del repository e modifica il nome, quindi sul tuo computer locale, modificalo anche nel .git/configfile.
aliteralmind

1
Apri Repo -> Impostazioni -> Rinomina
Kanagavelu Sugumar

Risposte:


339

Se sei l'unica persona che lavora al progetto, non è un grosso problema, perché devi fare solo il n. 2.

Supponiamo che il tuo nome utente sia someusere il tuo progetto venga chiamato someproject.

Quindi l'URL del tuo progetto sarà 1

git@github.com:someuser/someproject.git

Se rinomini il tuo progetto, cambierà la someprojectparte dell'URL, ad es

git@github.com:someuser/newprojectname.git

(vedi nota a piè di pagina se il tuo URL non è simile a questo).

La tua copia di lavoro di Git utilizza questo URL quando fai un pusho pull.

Quindi, dopo aver rinominato il progetto, dovrai dire alla tua copia di lavoro il nuovo URL.

Puoi farlo in due passaggi:

Innanzitutto, cdnella directory Git locale e scopri quali nomi remoti si riferiscono a tale URL:

$ git remote -v
origin  git@github.com:someuser/someproject.git

Quindi, imposta il nuovo URL

$ git remote set-url origin git@github.com:someuser/newprojectname.git

O nelle versioni precedenti di Git, potresti aver bisogno di:

$ git remote rm origin
$ git remote add origin git@github.com:someuser/newprojectname.git

(origin è il nome remoto più comune, ma potrebbe essere chiamato qualcos'altro.)

Ma se ci sono molte persone che stanno lavorando al tuo progetto, dovranno tutti eseguire i passaggi precedenti e forse non sai nemmeno come contattarli tutti per dirglielo. Questo è il n. 1.

Ulteriori letture:

Note:

1 Il formato esatto del tuo URL dipende dal protocollo che stai utilizzando, ad es


Grazie per la tua risposta! Per il n. 1, non ho pagine Web che rimandano al repository. Quindi sono al sicuro? Per il n. 2, cosa sta succedendo esattamente lì? Grazie!
rabbid

Ho aggiunto ulteriori informazioni sui telecomandi che dovrebbero aiutare.
Mikel,

1
Il mio output per git remote -vè nella forma git@github.com:someuser, la barra che hai messo qui non ha funzionato per me. Tutto il resto qui, però.
Droogans,

Grazie. Fisso. Devo ancora trovare un modo per menzionare gli URL https e git.
Mikel,

3
Questo influenzerà le statistiche del repository come il numero di stelle?
Alex Naspo,

132

Da maggio 2013 ("I reindirizzamenti del repository sono qui! "), Puoi rinominare il tuo repository GitHub senza interrompere alcun collegamento:

Siamo lieti di annunciare che a partire da oggi, in queste circostanze, reindirizzeremo automaticamente tutte le richieste di posizioni precedenti del repository alla loro nuova sede. Non c'è niente di speciale che devi fare. Rinomina e noi ci occuperemo del resto.

Come bonus speciale, serviremo anche tutti i cloni di Git, recuperiamo e inviamo richieste da precedenti posizioni di repository .

Ciò significa che non è nemmeno necessario git remote set-url(modificare l'URL del repository GitHub remoto) sul repository clonato locale!
Anche se Gabriel nota nei commenti che la pagina di aiuto ufficiale di GitHub raccomanda vivamente di farlo:

per ridurre la confusione, si consiglia vivamente di aggiornare tutti i cloni locali esistenti per puntare al nuovo URL del repository. Puoi farlo usando git remote dalla riga di comando:

git remote set-url origin new_url

Attenzione però:

I siti di GitHub Pages non vengono reindirizzati automaticamente quando i loro repository vengono rinominati in questo momento.
La ridenominazione di un repository di Pages continuerà a interrompere qualsiasi collegamento esistente a contenuti ospitati sulgithub.iodominio o su domini personalizzati.

Inoltre, l'utente possiede ancora lo spazio dei nomi : se crea un nuovo repository utilizzando il vecchio nome del repository rinominato, quel reindirizzamento (per detto repository rinominato) smetterà di funzionare.


4
Questo è davvero utile ma inizialmente era molto confuso quando la ridenominazione non interrompeva la mia vecchia attività push / pull. Ora posso cambiare immediatamente il nome e far sapere a tutti gli altri di aggiornare i loro archivi usando set-urlprima di una certa data. Dopo quella data, distruggerò il vecchio repository dei nomi creando uno vuoto con un bel file readme "I WARNED U".
cod3monk3y

Si noti che anche se non è necessario utilizzare git remote set-urlper aggiornare un clone locale esistente per puntare al nuovo URL del repository, si consiglia vivamente di farlo.
Gabriel,

61

Rinominerò il mio semplicemente:

  1. andando su github.com sul mio repository
  2. Apri la scheda Impostazioni
  3. La prima impostazione che puoi vedere è il "Nome repository"
  4. Cambia quello attuale e metti il ​​nuovo nome che vuoi dare al tuo repository
  5. Fai clic su Rinomina

Dopo questo passaggio, GitHub farà in modo che il repository online corrisponda al nome della cartella locale. A questo punto il problema è stato risolto, a meno che non si desideri anche rinominare la cartella locale. Quindi fallo manualmente e usa semplicemente il client Github per Windows per ricollegare il tuo repository sul tuo disco rigido e Github lo abbinerà di nuovo. È tutto! Molto semplice.


1
È incredibile come, non solo le risposte molto votate qui, ma le pagine di aiuto su github.com consentano di cambiare il nome su github.com tramite la scheda delle impostazioni.
user3673

16

Il modo più semplice che ho trovato

  1. Vai al tuo link repo ad esempio: - https://github.com/someuser/someRepo.git

  2. Fai clic sulla scheda delle impostazioni.

inserisci qui la descrizione dell'immagine

la prima cosa che puoi vedere è il nome del tuo repository, puoi modificarlo.

Nota: - Se hai clonato repository su local così, cambia manualmente il nome della sua cartella, tutto qui.


10

Vedo molte risposte positive alle risposte che non trovo affatto accurate / complete.

Ci sono due cose da tenere a mente:

  • Repository remoto
  • Copia locale del repository

Se non hai ancora clonato il tuo repository nella tua macchina, devi solo rinominare il repository Github e quindi procedere alla clonazione del repository in modo da poter avere una copia locale. Per rinominare il repository Github, devi solo:

  1. Vai al sito del repository (es. Https://github.com/userX/repositoryZ ).
  2. Nella barra di navigazione, vedrai una scheda denominata "Impostazioni". Cliccaci sopra.
  3. Basta modificare il nome del repository corrente con quello desiderato e premere "Rinomina".
  4. Clonare il repository come al solito (ad es. Clone git https://github.com/userX/repositoryU ).

Se disponi già di una copia locale del progetto , oltre a seguire i passaggi precedenti, devi assicurarti che il tuo repository locale (cartella principale) sia rinominato correttamente e che punti al link URL remoto giusto. A tal fine, procedi come segue:

  1. Potresti voler usare il nuovo nome dato per il tuo repository. Per fare ciò, rinominare la cartella locale utilizzando la GUI del sistema operativo (Finder, Esplora risorse, ecc.) O la console:

mv -R current-repo-name new-repo-name

  1. Cambia l'URL remoto. Dalla radice della cartella, utilizzare quanto segue:

$ git remote set-url origin https://github.com/userX/repositoryU

o

$ git remote set-url origin git@github.com:userX/repositoryU.git

Il secondo passo non è obbligatorio, però. Github ha annunciato qualche tempo fa che avrebbero reindirizzato tutte le richieste dai precedenti URL repository a quelle assegnate . Ciò significa che non è necessario utilizzare $ git remote set-url ..., ma ti incoraggiano comunque a farlo per evitare confusione.

Spero che abbia aiutato. Se hai domande o il post non è abbastanza chiaro, fammelo sapere.


9

Questa risposta è ora obsoleta! GitHub si inoltrerà ora in nuove posizioni. Vedi questa risposta per i dettagli.


Il motivo per cui è presente questo avviso è perché il numero 1 non può essere effettuato manualmente.

Se sei l'unica persona che lavora e si collega al repository, allora stai bene cambiando il telecomando nel tuo repository locale e nelle tue pagine web.

Tuttavia, la ragione per avere un repository pubblico su github in primo luogo è che puoi avere altri clonare il tuo repository e collegarti alla pagina del tuo progetto github.


Il vecchio URL github.com/<username>/<repository>è di proprietà di Github. Quando non impostano alcun reindirizzamento al nuovo URL, nessuno può farlo. Quindi le cose si romperanno per tutti tranne le persone che stai dicendo.

Ma quanto è grande il problema, dipende da te. Se hai una pagina di progetto ufficiale su un server diverso, l'URL di Github potrebbe non essere un grosso problema. Se hai pubblicizzato il tuo progetto con l'URL di Github nelle mailing list e nelle directory, probabilmente non dovresti cambiare il nome del repository.


Un'alternativa alla modifica del nome del repository è creare un nuovo repository e lasciare note in quello vecchio (anche come commit nel repository) su come raggiungere il nuovo repository.

Se non desideri che il tuo nuovo repository sia elencato come fork del tuo vecchio repository, devi creare un nuovo account github. Puoi aggiungere l'altro tuo account come collaboratore per entrambi i repository.


6

Vale la pena notare che se si fork un progetto GitHub e quindi si rinomina la copia appena generata, il nuovo nome appare nel grafico di rete dei membri del progetto padre. Anche la relazione complementare viene preservata. Questo dovrebbe rispondere a tutte le riserve associate al primo punto della domanda originale relativa ai reindirizzamenti, vale a dire che puoi ancora arrivare da lì, per così dire. Anch'io ero titubante a causa dell'irrevocabilità implicita nell'avvertimento, quindi spero che questo salverà gli altri che ritardano.


Non puoi forkare il tuo progetto su github. Quindi devi usare un altro account, ma funzionerebbe.
JonnyJD,

Ho biforcato in un'organizzazione, quindi immagino che sia lo stesso che usare un altro account. Sono sicuro che hai ragione.
Neil Best

È possibile creare un nuovo repository vuoto. Clona il vecchio repository. Aggiungi un riferimento remoto al tuo nuovo repository. Quindi spingere i rami desiderati nel nuovo repository (ad es. Master). Immagino che sarebbe un fork parziale.
Darrel Lee,

6
  • Passare al percorso del repository.
  • Fai clic sul pulsante di impostazione che si trova nella finestra di destra.
  • Sostituisci il vecchio nome del repository con il nuovo nome.
  • Fai clic sul pulsante Rinomina

3

Questa soluzione è per quegli utenti che usano il desktop GitHub.

  1. Rinomina il tuo repository dall'impostazione su GitHub.com

  2. Ora dal desktop fai clic su Sincronizza.

Fatto.


è strano che una tale funzionalità di base non venga trovata nell'applicazione stessa
svarog

1
  1. apri questo URL ( https://github.com/ ) dal tuo browser

  2. Vai ai repository all'estremità destra della pagina

  3. Aprire il collegamento del repository che si desidera rinominare

  4. fai clic su Impostazioni (troverai nella barra di navigazione)

  5. Nella parte superiore troverai una casella chiamata (nome del repository) in cui scrivi il nuovo nome

  6. Premi Rinomina


0

Ho provato a rinominare il repository sulla pagina Web:

  1. Fai clic sulla parte superiore delle pagine giuste che è il tuo avatar.
  2. puoi guardare l'icona di setting, fare clic su di essa e quindi puoi trovare Repositoriessotto Personal setting.
  3. fai clic su Repositoriese inserisci le tue directory dei repository, scegli il repository che desideri rinominare.
  4. Quindi entrerai nel repository scelto e troverai l'icona di settingaggiunta alla riga superiore, fai semplicemente clic su di essa e inserisci il nuovo nome, quindi fai clic su Rename.

Fatto, così facile.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.