Installa un server Git con msysgit su Windows [chiuso]


163

Io e i miei amici stiamo provando a configurare Git per Windows usando il tutorial Git Server: Gitosis e Cygwin su Windows , ma continuiamo a riscontrare problemi.

Come sarebbe una guida "Setup Git Server" per Windows usando msysgit ?

C'è un commento nel tutorial sopra che suggerisce che non può essere fatto con msysgit perché la gitosi richiede l'uso di un server SSH e Bash? Che cos'è una guida passo passo (poiché non ce n'è una disponibile)?

  1. Installa mysisgit

  2. ?


* Git per sviluppatori Windows . 3 parti, questo è un collegamento al primo. Buona! * Una guida illustrata a Git su Windows * Git Extensions (video)
Rook,

Ho usato lo strumento su windowsgit.com come suggerito da Computer Linguist dopo aver provato (e fallito) con i metodi sopra. È stato ridicolmente facile e ha funzionato. Vale la pena $ 9, IMO.
Edward Anderson,

Puoi provare Git Candy, una piattaforma Git basata su ASP.NET MVC. Fonte su: github.com/Aimeast/GitCandy , Demo su: git.53wb.com
Aimeast

Risposte:


79

Ho trovato questo post e ho appena pubblicato qualcosa sul mio blog che potrebbe aiutare.

Vedere Impostazione di un server Msysgit con copSSH su Windows . È lungo, ma ho funzionato con successo su Windows 7 Ultimate x64.


5
Per la cronaca, da quello che posso dire, al punto 5.5 nelle istruzioni di Tim, è necessario inserire il comando aggiuntivo PRIMA del #, non dopo (altrimenti rimane commentato).
Benjol,

1
Puoi dare un'occhiata a windowsgit.com .
Lilith River,

6
Si noti che Copssh non è fornito su sourceforge e non è più gratuito a partire dal 2012 aprile
TiansHUo

2
@Tim, puoi ripubblicare il contenuto del tuo post sul blog qui? Se il tuo blog diventa offline, questa risposta diventa inutile.
Starfish,

1
@Starfish - Ecco a cosa serve web.archive.org! Ecco l'articolo di Tim qui: web.archive.org/web/20100207010332/http://www.timdavis.com.au/…
alldayremix

27

Bonobo Git Server per Windows

Dalla pagina Web di Bonobo Git Server :

Bonobo Git Server per Windows è un'applicazione Web che puoi installare su IIS e gestire e connettere facilmente ai tuoi repository git.

Bonobo Git Server è un progetto open source e puoi trovare l' origine su github .

Caratteristiche:

  • Accesso sicuro e anonimo ai tuoi repository git
  • Interfaccia web intuitiva per la gestione
  • Gestione dell'accesso al repository basato su utenti e team
  • Browser dei file del repository
  • Salva browser
  • Localizzazione

Brad Kingsley ha un bel tutorial per l'installazione e la configurazione di Bonobo Git Server.

GitStack

Git Stack è un'altra opzione. Ecco una descrizione dal loro sito web:

GitStack è un software che ti consente di configurare il tuo server Git privato per Windows. Ciò significa che crei un sistema di versioning all'avanguardia senza alcuna conoscenza di Git. GitStack semplifica inoltre la sicurezza e l'aggiornamento del server. GitStack è costruito sulla parte superiore del genuino Git per Windows ed è compatibile con qualsiasi altro client Git. GitStack è completamente gratuito per i piccoli team 1 .

1 l' edizione base è gratuita per un massimo di 2 utenti


1
GitStack è gratuito solo per un massimo di 5 utenti. Una volta superato questo limite, ti imbatterai nei prezzi annuali in base al numero di utenti. Vedere la pagina dei prezzi sul sito Web GitStack.
Simon Tewsi,

2
Si noti che lo sviluppatore originale di Bonobo Git Server, Jakub Chodounský, in un post del forum del 1 ° gennaio 2012 afferma di non poter più supportare il progetto.
Simon Tewsi,

2
GitStack è ora gratuito solo per un massimo di 2 utenti.
M4N,

2
Bonobo è di nuovo attivo un progetto.
Tomas Kubes,

2
Ricorda di attivare IIS> Servizi WWW> Funzioni di sviluppo applicazioni> ASP.NET 4.5. Bonobo ha funzionato per me dove GitStack (che non poteva nemmeno usare il tradizionale msysgit) e Bonobo è open source e con licenza MIT! Questo offre una soluzione soddisfacente per Windows, per quanto preferirei usare una macchina Unix per questo scopo.
Sarà il

26

Per quanto riguarda il riferimento alla pagina di Tim Davis - Configurare un server Msysgit con copSSH su Windows - L'ho usato per far funzionare un server Git su Windows 7 Home Premium 64.

Di seguito è riportato un postmortem / aggiornamento di ciò che ho imparato oltre alle sue istruzioni.

Come ha detto Tim Davis, questo è stato un processo arduo e frustrante, almeno per me - non sono troppo bravo con l'integrazione di questo tipo, ma ho imparato molto nel processo. Spero che il mio dolore sia di beneficio a qualcun altro in futuro, perché questo è stato un processo arduo.

  1. C'è un passaggio per copiare tutti gli eseguibili Git nella directory bin di CopSsh. Invece di copiare i file e capire quali file sono necessari, aggiungi il percorso git bin al tuo percorso git. L'ho fatto modificando il mio profilo .bashrc e CopSsh.

    Ecco cosa ho aggiunto a .bashrc (nella tua home directory di CopSsh e Windows):

    gitpath = '/ cygdrive / c / Programmi (x86) / Git / bin'

    gitcorepath = 'cygdrive / c / Programmi (x86) / Git / libexec / git-core'

    PATH = $ {} gitpath: $ {} gitcorepath: $ {PATH}

    Ecco cosa ho aggiunto al profilo bash (in CopSsh etc / profilo):

    gitpath = '/ c / Programmi (x86) / Git / bin'

    gitcorepath = 'cygdrive / c / Programmi (x86) / Git / libexec / git-core'

    export PATH = "/ bin: $ syspath: $ gitpath: $ gitcorepath: $ winpath"

    C'è qualche duplicazione qui - funziona per me, quindi qualcuno suona nel posto giusto per modificare il percorso.

  2. Le versioni più recenti di msysgit potrebbero non darti la schermata per scegliere l'eseguibile ssh in cui scegli tra Git ssh e PuTTY ssh. Dovrai impostare GIT_SSH manualmente se usi PuTTY.

  3. Non ho seguito una parte delle istruzioni e che stava installando Tortoise - ho usato invece la riga di comando poiché è così che preferisco imparare un vcs come ho fatto con rcs e Subversion e ho scoperto che funzionava per me. Ho avuto problemi con il comando clone usando ssh. Ecco come l'ho fatto:

    Git clone usando ssh - impossibile trovare il repository

    Questo è dove mi sono sbattuto di più la testa.

  4. La directory di installazione di CopSsh era / Programmi (x86) / ICW. Me ne sono liberato, ma se lo facessi di nuovo, userei un nome di directory senza spazi.

  5. Queste altre fonti mi hanno aiutato a capire le cose:

    Un altro modo per configurare un server Git su Windows:

    http://code.google.com/p/tortoisegit/wiki/HOWTO_CentralServerWindowsXP

    Il lato client delle cose:

    http://toolmantim.com/thoughts/setting_up_a_new_remote_git_repository

    Una spiegazione di Git come server (non correlato a Windows, ma uno sguardo più approfondito rispetto ai passaggi di installazione):

    http://progit.org/book/ch4-0.html

    Inoltre il controllo della versione di O'Reilly con Git - il capitolo Repository remoti.

In retrospettiva, se avessi saputo quanto tempo sarebbe stato, avrei potuto iniziare con Mercurial mentre leggevo l'installazione su Windows è più facile, ma avrò un'opinione su questo dopo aver lavorato con Git per un po 'e poi provare Mercurial .


Sto riscontrando problemi con il passaggio CopSSH. Il collegamento a CopSSH non esiste più ... Vengo indirizzato a sourceforge.net/projects/sereds/files dove posso solo scaricare cwRsync_4.0.4_Installer.zip invece del programma di installazione di CopSSH. Eventuali suggerimenti?
user5243421

Questo è il link che ho usato: itefix.no/i2/node/27
Steve

1
A partire da novembre 2011, Copssh è una soluzione commerciale. La versione 3.0.3 è resa disponibile gratuitamente.
mateuscb,

20

Non sono sicuro del motivo per cui qualcuno non abbia suggerito http://gitblit.com . Pura soluzione basata su Java, consente il protocollo HTTP e semplicissimo da configurare.


Grazie per il voto negativo. Potete fornire un motivo per cui votare in negativo su questo commento? Per favore, fai la spesa.
Pritesh Patel,

Progetto fantastico, ha reso la mia giornata, grazie.
Anderson Fortaleza,

16

Dopo aver seguito la guida di Tim Davis e il follow-up di Steve, ecco cosa ho fatto:

PC server

  1. Installa CopSSH, msysgit.
  2. Quando si crea l'utente CopSSH, deselezionare Autenticazione password e selezionare Autenticazione chiave pubblica in modo che le chiavi pubbliche / private funzionino.
  3. Crea chiavi pubbliche / private usando PuTTygen. mettere entrambe le chiavi nella directory CopSSH / home / user / .ssh dell'utente.
  4. Aggiungere quanto segue al file CopSSH / home / user / .bashrc dell'utente:

    GITPATH='/cygdrive/c/Program Files (x86)/Git/bin'
    GITCOREPATH='/cygdrive/c/Program Files (x86)/Git/libexec/git-core'
    PATH=${GITPATH}:${GITCOREPATH}:${PATH}
    
  5. Apri Git Bash e crea un repository ovunque sul tuo PC:

    $ git --bare init repo.git
    Initialized empty Git repository in C:/repopath/repo.git/
    

PC client

  1. Installa msysgit.
  2. Utilizzare la chiave privata creata sul server per clonare il repository da ssh: // user @ server: port / repopath / repo.git (per qualche motivo, la radice è l'unità C :)

Questo mi ha permesso di clonare e impegnare con successo, ma non sono riuscito a eseguire il push sul repository nudo sul server. Continuavo a ricevere:

git: '/repopath/repo.git' is not a git command. See 'git --help'.
fatal: The remote end hung up unexpectedly

Questo mi ha portato alla traccia e alla soluzione di Rui che consisteva nel creare o aggiungere le seguenti righe in .gitconfig nel percorso % USERPROFILE% del PC client (C: \ Users \ UserName).

[remote "origin"]
    receivepack = git receive-pack

Non sono sicuro del motivo per cui questo è necessario ... se qualcuno potesse fornire informazioni dettagliate, ciò sarebbe utile.

la mia versione di git è 1.7.3.1.msysgit.0


8

GitStack dovrebbe raggiungere il tuo obiettivo. Ho una configurazione guidata. È gratuito per 2 utenti e ha un'interfaccia utente basata sul web. Si basa su msysgit.


1
Prezzi dal sito Web GitStack: gratuito per un massimo di 5 utenti, $ 299 / anno per 6-10 utenti, $ 499 / anno per 11-25 utenti e così via, fino a $ 2999 / anno per 500 utenti.
Simon Tewsi,

1
GitStack è ora gratuito solo per un massimo di 2 utenti.
M4N,

Quindi, 1 utente per chi sta configurando il server, 1utente per il client che visita il server. Questo limite è troppo severo. Un team di 2 sviluppatori è troppo piccolo nel mondo reale.
ZhaoGang,

7

C'è un bel stack Git open source chiamato Git Blit. È disponibile per diverse piattaforme e in diversi pacchetti. Puoi anche distribuirlo facilmente sul tuo Tomcat esistente o su qualsiasi altro contenitore servlet. Dai un'occhiata al Setup git server su Windows in pochi clic tutorial per maggiori dettagli, ci vorranno circa 10 minuti per ottenere la configurazione di base.


Ha funzionato come un fascino. Grazie mille.
AndroidDev

Benvenuto, sono contento che sia stato utile
Ruslan Platonov

Questa è una buona scelta facile da usare per me. Non ha testato un commit git remoto, ma suppongo che funzionerà. A proposito, il collegamento non è più disponibile.
ZhaoGang,

Il collegamento non esiste più.
Shihe Zhang

3

Non hai bisogno di SSH per condividere git. Se sei su una LAN o VPN, puoi esportare un progetto git come cartella condivisa e montarlo su un computer remoto. Quindi configurare il repository remoto utilizzando gli URL "file: //" anziché gli URL "git @". Dura tutti i 30 secondi. Fatto!


2

Potrebbe non esserci una guida del genere. In tal caso, potresti non avere molta fortuna a convincere nessuno a scriverne uno, perché sarebbe un sacco di lavoro.

Consiglierei una delle due cose. La più semplice è seguire la guida che hai di persona, il che significa dimenticare msysgit.

Il più difficile è installare un server Linux - forse come ospite in Windows usando VirtualBox (gratuito) o VMWare o Parallels (a pagamento), quindi seguire una delle tante serie di istruzioni che Google ti guiderà. Ma probabilmente troverai che queste istruzioni sono insufficienti - di solito presumono che tu abbia già impostato un server ssh, ad esempio, quindi devi ottenere quelle informazioni altrove. L'ho fatto due volte, e posso dire che se non sei già un guru di Linux, sarà una lotta.


1

Ho fatto quello che Bob Murphy ha suggerito fosse l'opzione "difficile".

Ho installato Ubuntu sotto VMWare Server (gratuito) al lavoro e poi ho seguito questa guida sull'installazione di Gitosis. L'ho trovato molto più semplice che cercare di farlo funzionare su Windows. Una volta impostato, non è necessario toccarlo perché l'amministrazione Gitosis può essere eseguita da Windows spingendo versioni aggiornate del file gitosis.conf. Qualsiasi lavoro che devo fare direttamente sul server viene eseguito tramite PuTTY, quindi non devo usare l'orribile interfaccia del server VMWare.

Recentemente sono stato in giro con VirtualBox a casa e ho trovato molto più bello / più facile lavorare con VMWare Server, quindi potrebbe valere la pena guardarlo.


1

Volevo solo aggiungere le mie esperienze con l' installazione PATH che Steve e Timc menzionano sopra: ho avuto problemi di autorizzazione usando gli strumenti della shell (come mv e cp ) con i file eseguibili della shell di Git per primi nel percorso.

Aggiungerli dopo il PERCORSO esistente invece risolto i miei problemi. Esempio:

GITPATH='/cygdrive/c/Program Files (x86)/Git/bin' GITCOREPATH='/cygdrive/c/Program Files (x86)/Git/libexec/git-core' PATH=${PATH}:${GITPATH}:${GITCOREPATH}

Immagino che CopSSH non vada d'accordo con tutti gli eseguibili shell di msysgit ...


0

Sto usando GitWebAccess per molti progetti da sei mesi ormai, ed è stato dimostrato di essere il migliore di quello che ho provato. Sembra, tuttavia, che ultimamente i sorgenti non siano supportati, quindi non prendere i binari / le fonti più recenti. Attualmente sono rotti :(

Puoi compilare da questa versione o scaricare i binari compilati che utilizzo da qui .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.