Domanda

Per esempio, ho clonato il repository origine su due computer. Poi, vado avanti e fare alcuni cambiamenti e impegno al repository locale del computer di A. Come faccio ora tirare queste modifiche al computer B? Sia il computer A e B sono collegati a una rete.

Quello che sto cercando sarà l'equivalente di qualcuno creazione manuale di una patch e inviarlo a me, che posso applicare al mio lavoro di copia / repo locale.

È stato utile?

Soluzione

Se la macchina si vuole tirare da è accessibile via ssh, è possibile aggiungere il repository su di essa come un remoto via SSH, e poi tirare da essa come si farebbe con qualsiasi distanza:

$ git remote add repo_b username@host:path/to/repository.git
$ git pull repo_b master

(è possibile saltare la fase di aggiunta di un telecomando e basta specificare l'URL completo nel comando git pull invece di un nome a distanza, ma se si sta andando ad essere tirando dal repository su base regolare, aggiungendo come a distanza vi farà risparmiare un sacco di battitura.)

Altri suggerimenti

Date un'occhiata al git pull --help

Questo darebbe qualcosa di simile git pull /my/other/repository

È possibile impostare un server vero e proprio con git daemon . In caso contrario, è possibile utilizzare git fascio , che impacchetta rappresentazione interna di git in un file che può essere disaggregato con git pull all'altra estremità.

es. Dalla documentazione git, bundling tutto:

git bundle create file.bundle master

Poi, dall'altra parte, si può fare qualcosa di simile:

git pull file.bundle HEAD

Se è possibile connettersi al computer B da ssh, è possibile utilizzare:

git clone user@host:/path/to/repo

Essa consentirà a distanza di monitoraggio attraverso questa connessione SSH, e consentono di utilizzare git pull / push.

Ha funzionato per me per un repository locale con un altro computer:

git remote add origin_username username@10.0.0.2:/home/username/dev/project/main/.git/

git pull origin_username master

o

git pull origin_username some_branch

Sono venuto su con

git clone /path/to/local/repository

Un po 'troppo tardi, ma per tutti la pena e di estendere la risposta Antoine Pelisse, si può anche tirare da ssh host che ha lo stesso repo con coppia di più impegna in esso, senza l'aggiunta di un a distanza per il vostro config:

git pull user@host:/path/to/repo  # while in the local repo folder

Giusto per essere chiari - uno dei possibili utilizzi di questo è quando si hanno due host (A e B), che ha clonato la stessa pronti contro termine da un a distanza , e hai commesso alcuni cambiamenti su ospite a e non vogliono spingerli a a distanza (ancora), ma invece vuole tirare quei impegna da ospite B. Il comando di cui sopra con sincronizzare i pronti contro termine senza spingere a a distanza .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top