2014-10-31 9 views
6

devo essere in grado di eseguire i comandi Git in due contesti:GitHub conflitti credenziali helper con wincred aiutante credenziale

  1. Entro posh-Git (e la GitHub for Windows UI)
  2. dai file doppio clic lotti in Windows Explorer (ho creato una serie di file batch che semplificano l'utilizzo di Git per partecipanti di progetto non tecnici)

Tutto funziona perfettamente tranne che per le operazioni push/pull, in cui è presente un problema di supporto credenziali. Con l'impostazione predefinita di GitHub, che utilizza helper = !github –credentials in etc/.gitconfig, le operazioni remote funzionano bene per il contesto 1 ma non per il contesto 2 (richiede sempre le credenziali). Se aggiungo helper = wincred-user/.gitconfig, quindi contesto 1 funziona bene e il contesto 2 funziona bene anche se si lamenta prima:

github --credentials get: github: command not found 
github --credentials store: github: command not found 

(suppongo che si lamenta perché sta cercando di utilizzare l'helper GitHub, ma non può in context 2) ma poi procede ad eseguire la spinta:

Counting objects: 11, done. 
Delta compression using up to 4 threads. 
Compressing objects: 100% (3/3), done. 
Writing objects: 100% (5/5), 467 bytes | 0 bytes/s, done. 
Total 5 (delta 1), reused 0 (delta 0) 
... 

ho potuto vivere con la denuncia, ma il problema è che ogni volta che viene avviato GitHub for Windows, rimuove helper = wincred da user/.gitconfig.

la domanda è questa: posso neanche

  1. Get contesto 1 per utilizzare l'helper wincred
  2. ottenere l'aiuto GitHub di lavorare in un contesto 2
  3. evitare GitHub for Windows da rimuovere wincred (anche se questo comportamento è probabilmente corretto, dal momento che non penso che si supponga di avere due helper di credenziali)
  4. installare un creditore di credenziali diverso che funzionerà in entrambi i contesti

risposta

14

Ho avuto un problema simile e contattato il supporto GitHub e ottenuto questa risposta:

Cosa si sta colpendo è una configurazione di disinfettante per le mani, che GitHub per Windows viene eseguito all'avvio. Abbiamo riscontrato problemi significativi nel passato con altri client Git che aggiungevano valori di configurazione non validi/errati nel file e che davano agli utenti un'esperienza negativa, quindi abbiamo dovuto adottare i passaggi per attenuare questi problemi.

Si tratta di opt-in, e si può ignorare questo eseguendo il seguente comando:

git config --global ghfw.disableverification vero

Questo risolto il mio problema

+0

Mi hanno contattato, e questa era davvero la soluzione! –

+2

"questo è opt-in": no non lo è ... è sicuramente opt-out. Mi chiedo perché non sia pubblicamente documentato. –