2015-07-10 21 views
9

Ho creato un repository usando GitHub per Windows (GfW) e aggiunto 3 commit e sincronizzato usando sopra menzionato. I commit erano visibili sulla pagina web di GitHub e nella mia app. Poi mio fratello ha biforcato il mio progetto per iniziare a collaborare con me. Ha clonato con successo usando GfW.GitHub per Windows non visualizza le modifiche nel repository

Quindi ho apportato delle modifiche sulla mia macchina e ho premuto il pulsante "sync". Le modifiche sono apparse sulla pagina web e nella mia storia, ma mio fratello non può vederle nella sua GfW. Anche dopo aver premuto "sync".

Che errore stiamo facendo? L'ho anche aggiunto ai collaboratori nelle impostazioni del mio progetto, anche se non ha cambiato nulla. Credo di aver frainteso alcuni principi di base.

+0

tuo fratello ha bisogno di ottenere il suo fork in sync con il tuo master https://help.github.com/articles/syncing-a-fork/ –

risposta

21

Beh, ci sono quattro repository coinvolte qui:

  • tuo github uno
  • tuo clone locale del progetto github
  • di tuo fratello GitHub forcella
  • clone locale del fratello della sua forchetta

Non ho usato GfW da solo per un po ', ma ho il sospetto sincronizza solo tra gli ultimi due progetti elencati sopra. Non so se c'è un supporto per la GUI oppure no, ma il documentation on syncing a fork potrebbe esserti utile.

ho sospetto non v'è il supporto per la sincronizzazione un bivio con l'originale, però, dato this documentation:

GitHub for Windows non supporta più telecomandi Git e funziona solo con il telecomando di origine. Se si desidera spingere lo spostamento & su altri telecomandi, si consiglia di utilizzare il client della riga di comando incluso con l'applicazione.

Tuo fratello effettivamente avere due telecomandi: la forchetta (generalmente denominato "origine") e il progetto originale (in genere chiamato "a monte").

+0

Grazie. E c'è un modo in cui il mio fratello potrebbe avere clone locale del mio progetto github, non solo una forchetta ? – bowl

+1

@bowl: Sì, potrebbe usare 'git clone XYZ' dove' XYZ' è l'URL mostrato in github per il tuo pro Ject. Ma dovresti considerare se è davvero quello che vuoi. È possibile che tu voglia veramente * tre * forchette: un "master", uno su cui lavorare e uno su cui lavorare. Dipende davvero dalle tue esigenze. Se sei felice per lui di spingere al tuo repository, un solo repository Github può essere l'approccio più semplice ... –

+0

Sì, abbiamo voglia di prendere confidenza con DVCS e ho scelto git per questo. Penso che l'approccio più semplice sia il migliore per i principianti. Penso che GfW potrebbe non essere la migliore interfaccia per noi adesso. Useremo SourceTree, come suggerito da Surjah. – bowl

1

Tuo fratello dovrà sincronizzare la sua forcella del repository.

Documentazione su GitHub here su ciò che deve essere fatto.

3

Ci sono modi di utilizzare due progetti a forcella per questo, ma diventerà molto caotico. Probabilmente stai usando al meglio un solo progetto github e lo stai clonando entrambi.

Tuo fratello potrebbe semplicemente clonare il tuo progetto originale e apportare le modifiche alla sua macchina.

Quindi, quando si preme su Github, può tirare e poiché sta guardando lo stesso repository remoto che si è spinto a ricevere le modifiche.

Dovrai dare a tuo fratello il permesso di spingere al progetto per collaborare facilmente in modo da poter ottenere i cambiamenti che sta facendo anche tu.

1

Vorrei suggerire di utilizzare il client git windows Sourcetree. È molto facile da usare e, soprattutto, gratuito!

+0

Grazie, passeremo a SourceTree. Sembra molto più completo. – bowl

1

Ho lavorato con GitHub per 3 mesi fa, e c'è un intero mondo là fuori su GitHub e sul controllo del codice sorgente.

Forse si conosce in realtà questo, ma voglio condividere qualcosa che ho imparato in questo page

GitHub è solo un hosting per i repository.

Ma, c'è qualcos'altro ... Git.

Git is e Interface che offre tutto ciò di cui l'utente ha bisogno per avere controllo e gestione dei repository. In altre parole:

Git è un controllo sorgente, una gestione degli strumenti per la registrazione del codice sorgente. Git è lo strumento e GitHub il servizio ai progetti.

Fino ad ora, hai usato GitHub, beh, ti ho raccomandato di usare anche Git. Ancora di più in questo numero che hai adesso.


nessuno di voi ha fatto un errore. Forse c'è qualcosa che tuo fratello sta ignorando.

Ci sono due comandi che sono così comuni in Git.

> git fetch //Bring all the changes from the remote server 
> git pull //Fetch down new data from remote server 

E credo che questo sia il problema di tuo fratello. Hai aggiornato il tuo repository, ma per qualche motivo tuo fratello no. E questo perché ha dovuto portare i nuovi cambiamenti (resi nel tuo repository) nel suo repository in un momento specifico. E questo si ottiene con quel comando (se usi la linea di comando di Git. Puoi usare altri strumenti, come Visual Studio, Eclipse, TortoiseGit, Git Bash, Git Gui). So che a volte la riga di comando è complicata, ma può anche aiutarti quando nessuno può farlo.

Questo è il mio consiglio per voi. In realtà, nei giorni precedenti, ho visto qui in StackOverflow una domanda, in cui la soluzione era creare un "repository mirror", come funziona? Bene, ogni volta che la persona effettua un commit in repo1 (repository locale) invia automaticamente le modifiche a repo2 (repository mirror ... e yeap, che inserirai nel computer di tuo fratello, ma non riesco a trovarlo. promesso che mi continuare a cercare questa domanda e il più presto possibile io condividere con voi.

Forse questo non è un esattamente rispondere per il vostro problema. avere una buona giornata!

Problemi correlati