È possibile seguire le istruzioni in this gist per poter controllare direttamente il telecomando senza dover calcolare il repository e il ramo.
Esempio di utilizzo
Per uno dei miei progetti (github3.py) Ho il seguente nel mio github3.py/.git/config
[remote "github"]
fetch = +refs/heads/*:refs/remotes/github/*
fetch = +refs/pull/*/head:refs/remotes/github/pr/*
url = [email protected]:sigmavirus24/github3.py
La prima riga è ciò che è standard per ogni distanza con l'eccezione che github
viene sostituito dal nome del telecomando. Ciò significa che le testate remote (o le diramazioni dei rami su quel server) sono "mappate" ai telecomandi locali con prefisso github/
. Quindi, se avessi fatto git fetch github
e avessi un ramo su GitHub che non era già stato notato localmente sulla mia macchina, avrebbe scaricato il ramo e avrei potuto passare ad esso in questo modo: git checkout -t github/branch_name
.
La seconda riga fa la stessa cosa, ma lo fa per le richieste pull invece dei rami git standard. Ecco perché vedi refs/pull/*/head
. Cattura la testa di ogni richiesta pull su GitHub e la mappa su github/pr/#
. Allora, se qualcuno invia una richiesta di pull ed è numerata 62 (per esempio), si farebbe:
git fetch github
git checkout -t github/pr/62
E allora si sarebbe su un ramo locale chiamato pr/62
(ammesso che già non esiste). È bello e significa che non devi tenere traccia dei telecomandi o delle filiali di altre persone.
fonte
2013-02-19 00:45:26
Se non è venuto qui per 'clone' ma per' fetch' vedere: http://stackoverflow.com/questions/6743514/git-how-can-i- fetch-an-unmerged-pull-request-for-a-branch-i-dont-own –
Sono venuto qui per clone. Grazie comunque. – Fresheyeball