Configurare un'origine remota git


180

Ho i seguenti repository.

  1. DEV REPO: in una directory sulla mia macchina di sviluppo in cui apporto modifiche
  2. REPO PRINCIPALE: repository nudo sulla mia macchina di sviluppo a cui invio modifiche dal repository di sviluppo
  3. REPO DI PRODUZIONE: repository sul computer host per estrarre gli aggiornamenti dal repository principale

Ho usato git remote add origin /Users/me/sites/main_repoper impostare il repository MAIN come origine per il repository DEV. Il repository PRODUCTION è su un host remoto. Posso usare una variazione dello stesso comando per impostare il repository MAIN come origine anche per il repository PRODUCTION? Se "sì", suppongo che la sintassi includa un indirizzo IP. Come sarebbe?


Non intendevi "impostare il repository PRODUCTION come origine per il repository MAIN"?
Pedro A

Risposte:


289

Usando SSH

git remote add origin ssh://login@IP/path/to/repository

Usando HTTP

git remote add origin http://IP/path/to/repository

Tuttavia, avere un semplice git pullprocesso di distribuzione è generalmente una cattiva idea e dovrebbe essere evitato a favore di un vero script di distribuzione.


6
Perché è una pessima idea? Effettuare alcune ricerche ora per esempi di script di distribuzione.
Jay,

14
Perché l'implementazione spesso significa (leggi "sempre") più di ciò che git pullfa. Potrebbe essere necessario impostare le credenziali del DB di produzione, svuotare la cache, aumentare il numero di versione, eseguire il backup della versione precedente in modo da poter eseguire il rollback in caso di problemi, ottimizzare / minimizzare le risorse (CSS e Js ad esempio) e molti altri cose.
Clemente Herreman,

33
@ClementHerreman - sembra che, in base alla tua spiegazione, usare git pull non sia tanto una "cattiva idea" quanto una soluzione limitata. A volte trovo che git pull sia una soluzione di implementazione semplice e perfettamente efficace quando ho uno scenario semplice.
Brady Holt,

4
Penso che sia necessario specificare ssh: // per il modo ssh, cioè git remote aggiungi origine ssh: // login @ IP / path / to / repository
kakyo

4
Penso che se avessimo modificato la frase finale in "a volte è una cattiva idea", nessuna audacia sarebbe una risposta eccellente.
Chris Moschini,

104

Per chiunque venga qui, come ho fatto io, cercando la sintassi per cambiare origine in una posizione diversa, è possibile trovare la documentazione qui: https://help.github.com/articles/changing-a-remote-s-url/ . L'uso git remote addper fare ciò comporterà "fatale: l'origine remota esiste già".

Nutshell: git remote set-url origin https://github.com/username/repo

(La risposta contrassegnata è corretta, spero solo di aiutare chiunque sia perso come me ... ahah)


2
Questa risposta è migliore per le persone che vogliono cambiare "git remote url" se esiste già. Grazie @lostphilosopher
eonista

17

È possibile includere il ramo da tracciare quando si impostano i telecomandi, per far funzionare le cose come ci si potrebbe aspettare:

git remote add --track master origin user@somesite.com:group/project.git   # git
git remote add --track master origin user@172.16.1.100:group/project.git   # git w/IP
git remote add --track master origin http://github.com/group/project.git   # http
git remote add --track master origin http://172.16.1.100/group/project.git # http w/IP
git remote add --track master origin /Volumes/Git/group/project/           # local
git remote add --track master origin G:/group/project/                     # local, Win

Questo ti impedisce di dover modificare manualmente la tua configurazione git o specificare manualmente il tracciamento dei rami.

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.