git quando si cambia il repository
-
07-07-2019 - |
Domanda
Sono abituato a estrarre da un repository git di qualcuno. Oggi ha spostato il suo repository in un altro indirizzo. Mi chiedo se c'è un modo per me di estrarre dal nuovo indirizzo e ottenere le informazioni su quali modifiche ha apportato rispetto all'ultima volta prima del suo trasferimento?
Quello che ho fatto è " git clone newaddress " sotto il mio repository estratto dal suo vecchio. L'output è simile a:
ottenuto xxx
cammina xxx
ottenuto xxx
ottenuto xxx
cammina xxx
Come ottenere un elenco alternativo per il nuovo indirizzo
Ottenere l'elenco dei pacchetti per il nuovo indirizzo
Ottenere l'indice per il pacchetto xxx
Ottenere il pacchetto xxx
che contiene xxx
ottenuto xxx
ottenuto xxx
cammina xxx
...
Quindi I " git pull " e ho ricevuto il seguente messaggio che non capisco:
Mi hai chiesto di tirare senza dirmi quale ramo sei tu vuoi unirti a, e 'branch.master.merge' in il tuo file di configurazione non me lo dice neanche. per favore nominare quale ramo si desidera unire sulla riga di comando e riprovare (ad es. "git pull"). Vedi git-pull (1) per i dettagli su refspec.
Se ti unisci spesso con lo stesso ramo, ti consigliamo di farlo configura le seguenti variabili nella tua configurazione file:
branch.master.remote = <nickname> branch.master.merge = <remote-ref> remote.<nickname>.url = <url> remote.<nickname>.fetch = <refspec>
Vedi git-config (1) per i dettagli.
Cosa posso fare ora per essere ancora in grado di ottenere le informazioni su quali modifiche ha apportato rispetto all'ultima volta prima del suo trasferimento?
Grazie e saluti!
Soluzione
Se capisco correttamente la tua domanda, quello che stai cercando di fare è sostituire la tua origine remota attuale con una nuova. Non so se puoi sostituirlo dalla riga di comando, ma puoi cambiarlo nel tuo .git / config
(questo è nella directory del tuo progetto)
OLD
[remote "origin"]
url = git+ssh://original_repository.com/my_project.git
...
NUOVO
[remote "origin"]
url = git+ssh://new_repository.com/my_project.git
...
La parte git + ssh
potrebbe essere qualcosa di simile a git @
(questo sarebbe come se tu stessi usando github), o sono sicuro che una varietà di altre cose. Questo potrebbe aiutare a chiarire alcune cose che ho lasciato fuori o che non ho spiegato abbastanza bene: Change Your Origin .
Spero che questo aiuti a rispondere alla tua domanda. Cin cin.
Altri suggerimenti
Esegui questo nel tuo repository git clonato:
git config branch.master.remote origin
per occuparmi del " Mi hai chiesto di tirare senza dirmelo " ... messaggio.
Quindi, se sai dove è stato spostato il repository remoto, puoi fare nel tuo nuovo repository locale clonato un git diff
da quella data.
$ git diff "@{yesterday}"
$ git whatchanged --since="2 weeks ago"
Nota: le prossime menzioni git1.6.5
Formato data scrivibile dall'uomo in varie opzioni, ad es. "
--since = ieri
" ;, "master@{2000.09.17}
" ;, viene insegnato a dedurre correttamente alcuni input omessi.
Vedi anche la domanda SO " Come fai a git di estrarre sempre da un ramo specifico? "