Menyiapkan server Git dengan msysgit di Windows [ditutup]

163

Teman-teman saya dan saya mencoba men-setup Git untuk Windows menggunakan tutorial Git Server: Gitosis dan Cygwin di Windows , tetapi kami terus mengalami masalah.

Seperti apa panduan "Setup Git Server" untuk Windows menggunakan msysgit ?

Ada komentar dalam tutorial di atas yang menyarankan itu tidak dapat dilakukan dengan msysgit karena gitosis memerlukan penggunaan SSH Server dan Bash? Apa panduan langkah demi langkah (karena tidak ada satu tersedia)?

  1. Instal mysisgit

  2. ?

Kara
sumber
* Git untuk Pengembang Windows . 3 bagian, ini adalah tautan ke yang pertama. Bagus * Sebuah Panduan Ilustrasi untuk Git di Windows * Ekstensi Git (video)
Rook
Saya menggunakan alat di windowsgit.com seperti yang disarankan Ahli Bahasa Komputer setelah mencoba (dan gagal) dengan metode di atas. Itu sangat mudah dan hanya bekerja. Sepadan dengan $ 9, IMO.
Edward Anderson
Anda dapat mencoba Git Candy, platform Git berdasarkan ASP.NET MVC. Sumber di: github.com/Aimeast/GitCandy , Demo on: git.53wb.com
Aimeast

Jawaban:

79

Saya menemukan posting ini dan saya baru saja memposting sesuatu di blog saya yang mungkin bisa membantu.

Lihat Menyiapkan Server Msysgit dengan copSSH di Windows . Sudah lama, tapi saya berhasil menjalankan ini pada Windows 7 Ultimate x64.

Tim
sumber
5
Sebagai catatan, dari apa yang dapat saya katakan, pada poin 5.5 dalam instruksi Tim, Anda harus memasukkan perintah tambahan SEBELUM #, bukan setelah (jika tidak tetap akan dikomentari).
Benjol
1
Anda mungkin melihat windowsgit.com .
Sungai Lilith
6
Perhatikan bahwa Copssh tidak disediakan pada sourceforge dan tidak gratis lagi hingga 2012 April.
TiansHUo
2
@Tim, bisakah Anda memposting ulang konten posting blog Anda di sini? Jika blog Anda offline maka jawaban ini menjadi tidak berguna.
Starfish
1
@Starfish - Itulah gunanya web.archive.org! Inilah artikel Tim di sana: web.archive.org/web/20100207010332/http://www.timdavis.com.au/…
alldayremix
27

Bonobo Git Server untuk Windows

Dari halaman web Bonobo Git Server :

Bonobo Git Server untuk Windows adalah aplikasi web yang dapat Anda instal di IIS Anda dan dengan mudah mengelola dan terhubung ke repositori git Anda.

Bonobo Git Server adalah proyek sumber terbuka dan Anda dapat menemukan sumbernya di github .

Fitur:

  • Akses aman dan anonim ke repositori git Anda
  • Antarmuka web yang ramah pengguna untuk manajemen
  • Manajemen akses repositori berbasis pengguna dan tim
  • Peramban file repositori
  • Browser komit
  • Lokalisasi

Brad Kingsley memiliki tutorial yang bagus untuk menginstal dan mengkonfigurasi Bonobo Git Server.

GitStack

Git Stack adalah pilihan lain. Berikut ini deskripsi dari situs web mereka:

GitStack adalah perangkat lunak yang memungkinkan Anda mengatur server Git pribadi Anda untuk Windows. Ini berarti Anda membuat sistem versi terdepan tanpa pengetahuan Git sebelumnya. GitStack juga membuatnya sangat mudah untuk diamankan dan menjaga server Anda tetap mutakhir. GitStack dibangun di atas Git asli untuk Windows dan kompatibel dengan klien Git lainnya. GitStack sepenuhnya gratis untuk tim kecil 1 .

1 yang edisi dasar gratis sampai pengguna 2

Daniel
sumber
1
GitStack hanya gratis untuk hingga 5 pengguna. Setelah melewati batas itu, Anda akan dikenakan harga per tahun berdasarkan jumlah pengguna. Lihat halaman Harga di situs web GitStack.
Simon Tewsi
2
Perhatikan bahwa pengembang asli Bonobo Git Server, Jakub Chodounský, mengatakan dalam posting forum pada 1 Jan 2012 bahwa ia tidak dapat lagi mendukung proyek.
Simon Tewsi
2
GitStack sekarang hanya gratis untuk hingga 2 pengguna.
M4N
2
Bonobo aktif lagi proyek.
Tomas Kubes
2
Ingatlah untuk mengaktifkan IIS> Layanan WWW> Fitur Pengembangan Aplikasi> ASP.NET 4.5. Bonobo bekerja untuk saya di mana GitStack (yang bahkan tidak bisa menggunakan msysgit utama) tidak, dan Bonobo adalah open-source dan berlisensi MIT! Ini menawarkan solusi yang memuaskan untuk Windows, seperti halnya saya lebih suka menggunakan mesin Unix untuk tujuan ini.
Will
26

Berkenaan dengan referensi ke halaman Tim Davis - Menyiapkan Server Msysgit dengan copSSH di Windows - Saya menggunakan ini untuk menjalankan server Git pada Windows 7 Home Premium 64.

Di bawah ini adalah postmortem / pembaruan dari apa yang saya pelajari di samping instruksinya.

Seperti yang dikatakan Tim Davis, ini adalah proses yang sulit dan membuat frustrasi, setidaknya bagi saya - saya tidak terlalu baik dengan integrasi semacam ini, tetapi saya belajar banyak dalam proses itu. Saya berharap rasa sakit saya bermanfaat bagi orang lain di masa depan, karena ini adalah proses yang sulit.

  1. Ada langkah untuk menyalin semua executable Git ke direktori bin CopSsh Anda. Alih-alih menyalin file dan mencari tahu file mana yang dibutuhkan, tambahkan path git bin ke path git Anda. Saya melakukannya dengan memodifikasi profil .bashrc dan CopSsh saya.

    Inilah yang saya tambahkan ke .bashrc (di direktori home CopSsh dan Windows Anda):

    gitpath = '/ cygdrive / c / Program Files (x86) / Git / bin'

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

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

    Inilah yang saya tambahkan ke profil bash (di CopSsh dll / profil):

    gitpath = '/ c / Program Files (x86) / Git / bin'

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

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

    Ada beberapa duplikasi di sini - ini bekerja untuk saya, jadi seseorang berpadu di mana adalah tempat yang tepat untuk memodifikasi jalur.

  2. Versi msysgit yang lebih baru mungkin tidak memberi Anda layar untuk memilih ssh yang dapat dieksekusi di mana Anda memilih antara Git ssh dan PuTTY ssh. Anda harus mengatur GIT_SSH secara manual jika Anda menggunakan Putty.

  3. Saya tidak mengikuti satu bagian dari instruksi dan itu menginstal Tortoise - Saya menggunakan baris perintah sebagai gantinya karena itulah saya lebih suka belajar vcs seperti yang saya lakukan dengan rcs dan Subversion dan menemukan bahwa itu berfungsi untuk saya. Saya punya masalah dengan perintah clone menggunakan ssh. Begini cara saya melakukannya:

    Git clone menggunakan ssh - tidak dapat menemukan repositori

    Di sinilah aku paling sering membenturkan kepalaku.

  4. Direktori instal CopSsh adalah / Program Files (x86) / ICW. Saya lolos dengan ini, tetapi jika saya melakukannya lagi, saya akan menggunakan nama direktori tanpa spasi.

  5. Sumber-sumber lain ini membantu saya mencari tahu:

    Cara lain untuk menyiapkan server Git di Windows:

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

    Sisi klien dari hal-hal:

    http://toolmantim.com/thoughts/setting_up_a_new_remote_git_repository

    Penjelasan tentang Git sebagai server (tidak terkait dengan Windows, tetapi tampilan yang lebih mendalam daripada langkah-langkah instalasi):

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

    Plus Kontrol Versi O'Reilly dengan Git - bab Repositori Jarak Jauh.

Dalam retrospeksi, jika saya tahu bagaimana memakan waktu ini, saya mungkin sudah mulai dengan Mercurial karena saya membaca menginstal pada Windows lebih mudah, tetapi saya akan memiliki pendapat tentang hal itu setelah saya bekerja dengan Git sebentar dan kemudian mencoba Mercurial .

Steve
sumber
Saya mengalami masalah dengan langkah CopSSH. Tautan ke CopSSH sudah tidak ada lagi ... Saya diarahkan ke sourceforge.net/projects/sereds/files di mana saya hanya bisa mengunduh cwRsync_4.0.4_Installer.zip daripada installer CopSSH. Ada saran?
user5243421
Ini adalah tautan yang saya gunakan: itefix.no/i2/node/27
Steve
1
Pada November 2011, Copssh adalah solusi komersial. Versi 3.0.3 tersedia secara gratis.
mateuscb
20

Saya tidak yakin mengapa ada orang yang menyarankan http://gitblit.com . Solusi berbasis java murni, memungkinkan protokol HTTP dan sangat mudah untuk setup.

Pritesh Patel
sumber
Terima kasih telah memilih. Bisakah Anda memberikan alasan mengapa tidak memilih pada komentar ini? Silakan ongkos.
Pritesh Patel
Proyek yang luar biasa, buat hari saya, terima kasih.
Anderson Fortaleza
16

Setelah mengikuti panduan Tim Davis dan tindak lanjut Steve, inilah yang saya lakukan:

Server PC

  1. Instal CopSSH, msysgit.
  2. Saat membuat pengguna CopSSH, hapus centang Otentikasi Kata Sandi dan periksa Otentikasi Kunci Publik sehingga kunci publik / pribadi Anda akan berfungsi.
  3. Buat kunci publik / pribadi menggunakan PuTTygen. letakkan kedua kunci di direktori CopSSH / home / user / .ssh pengguna.
  4. Tambahkan berikut ini ke file CopSSH / home / user / .bashrc pengguna:

    GITPATH='/cygdrive/c/Program Files (x86)/Git/bin'
    GITCOREPATH='/cygdrive/c/Program Files (x86)/Git/libexec/git-core'
    PATH=${GITPATH}:${GITCOREPATH}:${PATH}
    
  5. Buka Git Bash dan buat repositori di mana saja di PC Anda:

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

PC klien

  1. Instal msysgit.
  2. Gunakan kunci pribadi yang Anda buat di server untuk mengkloning repo Anda dari ssh: // user @ server: port / repopath / repo.git (untuk beberapa alasan, root adalah drive C :)

Ini memungkinkan saya untuk berhasil mengkloning dan melakukan, tetapi saya tidak bisa mendorong ke repo telanjang di server. Saya terus mendapatkan:

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

Ini membawa saya ke penelusuran dan solusi Rui yang membuat atau menambahkan baris berikut ke .gitconfig di jalur % USERPROFILE% PC Klien Anda (C: \ Users \ UserName).

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

Saya tidak yakin mengapa ini diperlukan ... jika ada yang bisa memberikan wawasan, ini akan sangat membantu.

versi git saya adalah 1.7.3.1.msysgit.0

timc
sumber
8

GitStack harus memenuhi tujuan Anda. Saya memiliki pengaturan wizard. Ini gratis untuk 2 pengguna dan memiliki antarmuka pengguna berbasis web. Itu didasarkan pada msysgit.

poiuytrez
sumber
1
Harga dari situs web GitStack: Gratis untuk hingga 5 pengguna, $ 299 / tahun untuk 6-10 pengguna, $ 499 / tahun untuk 11-25 pengguna, dan seterusnya, hingga $ 2999 / tahun untuk 500 pengguna.
Simon Tewsi
1
GitStack sekarang hanya gratis untuk hingga 2 pengguna.
M4N
Jadi, 1 pengguna untuk yang menyiapkan server, 1 pengguna untuk klien yang mengunjungi server. Batas ini terlalu ketat. Tim yang terdiri dari 2 pengembang terlalu kecil di dunia nyata.
ZhaoGang
7

Ada sumber terbuka Git stack bagus yang disebut Git Blit. Ini tersedia untuk platform yang berbeda dan dalam paket yang berbeda. Anda juga dapat dengan mudah menyebarkannya ke Tomcat yang ada atau wadah servlet lainnya. Lihatlah Setup git server di windows dalam beberapa klik tutorial untuk detail lebih lanjut, ini akan membawa Anda sekitar 10 menit untuk mendapatkan pengaturan dasar.

Ruslan Platonov
sumber
Bekerja seperti pesona. Terima kasih banyak.
AndroidDev
Selamat datang, saya senang ini membantu
Ruslan Platonov
Ini pilihan yang bagus. mudah digunakan untuk saya. Belum menguji komit git jarak jauh, tapi saya kira itu akan berhasil. BTW, tautannya tidak lagi tersedia lagi.
ZhaoGang
Tautan tidak ada lagi.
Shihe Zhang
3

Anda tidak perlu SSH untuk berbagi git. Jika Anda menggunakan LAN atau VPN, Anda dapat mengekspor proyek git sebagai folder bersama, dan memasangnya di mesin jarak jauh. Kemudian konfigurasikan repo jarak jauh menggunakan "file: //" URL, bukan "git @" URL. Membutuhkan waktu 30 detik. Selesai!

Jon Watte
sumber
2

Mungkin tidak ada panduan seperti itu. Jika demikian, Anda mungkin tidak memiliki banyak keberuntungan meyakinkan siapa pun untuk menulis satu, karena itu akan banyak pekerjaan.

Saya akan merekomendasikan dua hal. Yang lebih mudah adalah dengan mengikuti panduan yang Anda miliki secara kasar, yang berarti melupakan tentang msysgit.

Yang lebih sulit adalah memasang server Linux - mungkin sebagai tamu di Windows menggunakan VirtualBox (gratis) atau VMWare atau Parallels (berbayar), dan kemudian ikuti salah satu dari sekian banyak instruksi yang akan dituntun oleh Google. Tetapi Anda mungkin akan menemukan instruksi tersebut tidak cukup - mereka biasanya menganggap Anda sudah menyiapkan server ssh, misalnya, sehingga Anda harus mendapatkan info itu di tempat lain. Saya sudah melakukannya dua kali, dan dapat mengatakan bahwa kecuali Anda sudah menjadi guru Linux, itu akan menjadi perjuangan.

Bob Murphy
sumber
1

Saya melakukan apa yang disarankan Bob Murphy adalah opsi "sulit".

Saya menginstal Ubuntu di bawah VMWare Server (gratis) di tempat kerja dan kemudian mengikuti panduan ini tentang pengaturan Gitosis. Saya merasa jauh lebih mudah daripada mencoba membuatnya di Windows. Setelah diatur, Anda benar-benar tidak perlu menyentuhnya karena administrasi Gitosis dapat dilakukan dari Windows dengan mendorong versi terbaru dari file gitosis.conf. Pekerjaan apa pun yang saya perlu lakukan di server secara langsung dilakukan melalui Putty jadi saya tidak harus menggunakan antarmuka VMWare Server yang mengerikan.

Saya baru-baru ini bermain-main dengan VirtualBox di rumah dan saya merasa jauh lebih baik / lebih mudah untuk bekerja daripada VMWare Server, jadi mungkin layak untuk dilihat.

Jacob Stanley
sumber
1

Saya hanya ingin menambahkan pengalaman saya dengan pengaturan PATH yang Steve dan timc sebutkan di atas: Saya mendapat masalah izin menggunakan alat shell (seperti mv dan cp ) memiliki executable shell Git pertama di jalan.

Menambahkannya setelah PATH yang ada, malah ini menyelesaikan masalah saya. Contoh:

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

Saya kira CopSSH tidak cocok dengan semua executables shell msysgit ...

kjellander
sumber
0

Saya menggunakan GitWebAccess untuk banyak proyek selama setengah tahun sekarang, dan terbukti menjadi yang terbaik dari apa yang saya coba. Sepertinya, belakangan ini sumber tidak didukung, jadi - jangan ambil binari / sumber terbaru. Saat ini mereka rusak :(

Anda dapat membangun dari versi ini atau mengunduh binari terkompilasi yang saya gunakan dari sini .

Ivan Danilov
sumber