2013-05-28 16 views
6

Quando si fora un progetto su GitHub, il wiki viene clonato dal progetto originale.Progetto Fork GitHub con wiki personalizzato

Ho ragione di presumere che posso apportare modifiche (eliminare pagine, modificare pagine) alla mia wiki biforcuta senza modificare il wiki upstream?

Ho cercato di Google, Stack Overflow   e la documentazione GitHub senza trovare informazioni su questo :(

+0

Correlato: * [Come richiamare una pagina wiki su GitHub?] (Http://stackoverflow.com/questions/10642928) * –

risposta

11

Forking un progetto GitHub fa non fork il suo repository wiki. Un wiki vuoto viene invece creato nel fork e non è possibile unire eventuali modifiche ad esso utilizzando le richieste pull. Una soluzione a questo è quello di clonare il wiki GitHub localmente quindi spingerla in un repository separato o wiki di un archivio separato, ad esempio:

git clone https://github.com/user1/project.wiki.git 
git remote add my-fork https://github.com/user2/project.wiki.git 
git push my-fork master 

Per mantenere i wiki in sincronia:

git pull origin master 
git push my-fork master 
+0

Strano, forse hanno cambiato il comportamento dal 2013? – VonC

+2

Grazie, @Oleg, che ha aiutato!Vorrei aggiungere che prima di poter "spingere il mio master", dovevo (a) creare la prima pagina di un wiki sotto 'user2', (b) unire quella nuova wiki a pagina singola al repository con' unire i telecomandi/my-fork/master --allow-nonrelated-histories', e (c) risolvere il conflitto su 'Home.md' e commit. – dmitrii

0

Aggiornamento 2015/2016: è necessario clone the wiki separately

E un wiki does not support pull request anyway


.

2013 (Risposta originale): Come illustrato da questo progetto, un clone GitHub fork clonerà:

Quindi sì, è possibile forchetta e aggiornare il wiki senza dover modificare nulla sul original upstream repo (quella che si biforcuta)

+0

Se clonato un repository che ha una wiki in questo momento, il wiki non è incluso nella biforcazione Vedi invece l'altra risposta qui. –

1

Per chiarire tutti i passaggi quando si utilizza SSH.

git clone [email protected]:User1/Repo1.wiki.git 
cd Repo1.wiki 

# Now enable Wiki pages in Repo2 

git remote add my-fork [email protected]:User2/Repo2.wiki.git 

Prestare attenzione all'uso di : vs. / quando si utilizza SSH. Se qualcosa va storto qui, non puoi semplicemente ripetere questo comando, quindi devi modificare manualmente l'url. Per controllare cosa si sta puntando, uso:

git config --local -l 

# For example, this is wrong: 
# [email protected]/User2/Repo2.wiki.git 

Se è sbagliato, quindi impostare l'URL corretto con:

git config --local remote.my-fork.url [email protected]:User2/Repo2.wiki.git 

Ora è possibile continuare con:

git push my-fork -f --no-tags 

Dove -f è una scorciatoia per --force per sovrascrivere tutto refs.