ติดตั้งเซิร์ฟเวอร์ Git ด้วย msysgit บน Windows [ปิด]


163

เพื่อนของฉันและฉันกำลังพยายามติดตั้ง Git สำหรับ Windows โดยใช้บทช่วยสอนGit Server: Gitosis และ Cygwin บน Windowsแต่เราก็พบปัญหา

คำแนะนำ "เซิร์ฟเวอร์การตั้งค่า Git" สำหรับ Windows ที่ใช้msysgitจะเป็นอย่างไร

มีความคิดเห็นในบทช่วยสอนข้างต้นบอกว่าไม่สามารถทำได้ด้วย msysgit เพราะ gitosis ต้องการการใช้ SSH Server และ Bash? คู่มือแบบทีละขั้นตอนคืออะไร (เนื่องจากไม่มีอยู่)

  1. ติดตั้ง mysisgit

  2. ?


* Git สำหรับ Windows นักพัฒนา 3 ส่วนนี่คือลิงค์ไปยังส่วนแรก สิ่งที่ดี! * คู่มือภาพประกอบ Git บน Windows * Git Extensions (วิดีโอ)
Rook

ฉันใช้เครื่องมือที่windowsgit.comเป็นนักภาษาศาสตร์คอมพิวเตอร์ที่แนะนำหลังจากพยายาม (และล้มเหลว) ด้วยวิธีการข้างต้น มันง่ายมากและใช้งานได้ดี คุ้มค่ากับ $ 9, IMO
Edward Anderson

คุณสามารถลอง Git Candy ซึ่งเป็นแพลตฟอร์ม Git ที่ใช้ ASP.NET MVC แหล่งที่มา: github.com/Aimeast/GitCandy , การสาธิตบน: git.53wb.com
Aimeast

คำตอบ:


79

ฉันพบโพสต์นี้และฉันเพิ่งโพสต์บางอย่างในบล็อกของฉันที่อาจช่วยได้

ดูการตั้งค่า msysgit Server กับ copSSH บน Windows มันยาว แต่ฉันใช้งาน Windows 7 Ultimate x64 ได้สำเร็จ


5
สำหรับบันทึกจากสิ่งที่ฉันสามารถบอกได้ที่จุดที่ 5.5 ในคำแนะนำของ Tim คุณต้องแทรกคำสั่งพิเศษก่อนที่จะถึง # ไม่ใช่หลัง (มิฉะนั้นจะยังคงใส่ความคิดเห็นไว้)
Benjol

1
คุณอาจจะดูที่windowsgit.com
Lilith River

6
โปรดทราบว่า Copssh ไม่มีให้ใน sourceforge และจะไม่ให้บริการฟรีอีกต่อไปตั้งแต่วันที่ 2012 เม.ย.
TiansHUo

2
@Tim คุณสามารถ repost เนื้อหาของโพสต์บล็อกของคุณที่นี่ได้หรือไม่ หากบล็อกของคุณออฟไลน์คำตอบนี้จะไร้ประโยชน์
ปลาดาว

1
@Starfish - นั่นคือสิ่งที่ web.archive.org มีไว้สำหรับ! นี่คือบทความของ Tim ที่มีอยู่: web.archive.org/web/20100207010332/http://www.timdavis.com.au/…
alldayremix

27

Bonobo Git Server สำหรับ Windows

จากหน้าเว็บ Bonobo Git Server :

Bonobo Git Server สำหรับ Windows เป็นเว็บแอปพลิเคชั่นที่คุณสามารถติดตั้งบน IIS ของคุณและจัดการและเชื่อมต่อกับที่เก็บ git ของคุณได้อย่างง่ายดาย

Bonobo Git Server เป็นโครงการโอเพนซอร์สและคุณสามารถหา แหล่งที่มาบน GitHub

คุณสมบัติ:

  • การเข้าถึงที่เก็บข้อมูลคอมไพล์ของคุณอย่างปลอดภัยและไม่ระบุชื่อ
  • เว็บอินเตอร์เฟสที่ใช้งานง่ายสำหรับการจัดการ
  • การจัดการการเข้าถึงพื้นที่เก็บข้อมูลผู้ใช้และทีม
  • เบราว์เซอร์ไฟล์พื้นที่เก็บข้อมูล
  • กระทำเบราว์เซอร์
  • การ จำกัด

Brad Kingsleyมีบทช่วยสอนที่ดีสำหรับการติดตั้งและกำหนดค่า Bonobo Git Server

GitStack

Git Stackเป็นอีกทางเลือกหนึ่ง นี่คือคำอธิบายจากเว็บไซต์ของพวกเขา:

GitStack เป็นซอฟต์แวร์ที่ให้คุณตั้งค่าเซิร์ฟเวอร์ Git ส่วนตัวสำหรับ Windows ซึ่งหมายความว่าคุณสร้างระบบการกำหนดเวอร์ชันที่เป็นผู้นำโดยไม่มีความรู้ Git มาก่อน GitStack ยังทำให้ง่ายต่อการรักษาความปลอดภัยและทำให้เซิร์ฟเวอร์ของคุณทันสมัยอยู่เสมอ GitStack สร้างขึ้นบน Git ของแท้สำหรับ Windows และเข้ากันได้กับไคลเอนต์ Git อื่น ๆ GitStack เป็นสมบูรณ์ฟรีสำหรับทีมขนาดเล็ก1

1 รุ่นพื้นฐานคือฟรีถึงผู้ใช้ 2 คน


1
GitStack ให้บริการฟรีสำหรับผู้ใช้สูงสุด 5 รายเท่านั้น เมื่อผ่านไปคุณจะได้รับการกำหนดราคาต่อปีตามจำนวนผู้ใช้ ดูหน้าราคาในเว็บไซต์ GitStack
Simon Tewsi

2
โปรดทราบว่า Jakub Chodounskýผู้พัฒนาดั้งเดิมของ Bonobo Git Server กล่าวในฟอรัมในวันที่ 1 มกราคม 2012ว่าเขาไม่สามารถสนับสนุนโครงการได้อีกต่อไป
Simon Tewsi

2
GitStack ตอนนี้ฟรีสำหรับผู้ใช้มากถึง 2 คน
M4N

2
Bonobo เปิดใช้งานโครงการอีกครั้ง
Tomas Kubes

2
เพียงจำไว้ว่าให้เปิดใช้งาน IIS> บริการ WWW> คุณสมบัติการพัฒนาแอปพลิเคชัน> ASP.NET 4.5 Bonobo ทำงานให้ฉันโดยที่ GitStack (ซึ่งไม่สามารถแม้แต่ใช้ msysgit หลัก) ไม่ได้และ Bonobo เป็นโอเพ่นซอร์สและได้รับอนุญาตจาก MIT! นี่เป็นทางออกที่น่าพึงพอใจสำหรับ Windows เท่าที่ฉันต้องการใช้เครื่อง Unix เพื่อจุดประสงค์นี้
จะ

26

สำหรับการอ้างอิงไปยังหน้า Tim Davis - การตั้งค่าเซิร์ฟเวอร์ Msysgit ด้วย copSSH บน Windows - ฉันใช้สิ่งนี้เพื่อให้เซิร์ฟเวอร์ Git ทำงานบน Windows 7 Home Premium 64

ด้านล่างนี้เป็นบทส่งท้าย / อัปเดตของสิ่งที่ฉันเรียนรู้เพิ่มเติมจากคำแนะนำของเขา

เช่นเดียวกับทิมเดวิสกล่าวว่านี่เป็นกระบวนการที่ลำบากและน่าผิดหวังอย่างน้อยสำหรับฉัน - ฉันไม่ค่อยดีกับการรวมประเภทนี้ แต่ฉันได้เรียนรู้มากมายในกระบวนการ ฉันหวังว่าความเจ็บปวดของฉันจะเป็นประโยชน์ต่อคนอื่นในอนาคตเพราะนี่เป็นกระบวนการที่ลำบาก

  1. มีขั้นตอนในการคัดลอกไฟล์ประมวลผล Git ทั้งหมดไปยังไดเรกทอรีถังขยะ CopSsh ของคุณ แทนที่จะคัดลอกไฟล์และหาไฟล์ที่ต้องการเพิ่มเส้นทาง git bin ไปยังเส้นทาง git ของคุณ ฉันทำเช่นนั้นโดยแก้ไขโปรไฟล์. bashrc และ CopSsh ของฉัน

    นี่คือสิ่งที่ฉันเพิ่มลงใน. bashrc (ในโฮมไดเรกทอรี CopSsh และ Windows ของคุณ):

    gitpath = '/ cygdrive / c / ไฟล์โปรแกรม (x86) / Git / bin'

    gitcorepath = 'cygdrive / c / โปรแกรมไฟล์ (x86) / Git / libexec / git-core'

    PATH = $ {gitpath}: $ {gitcorepath}: $ {เส้นทาง}

    นี่คือสิ่งที่ฉันเพิ่มลงในโปรไฟล์ทุบตี (ใน CopSsh ฯลฯ / โปรไฟล์):

    gitpath = '/ c / ไฟล์โปรแกรม (x86) / Git / bin'

    gitcorepath = 'ไฟล์ cygdrive / c / Program (x86) / Git / libexec / git-core'

    ส่งออก PATH = "/ bin: $ syspath: $ gitpath: $ gitcorepath: $ winpath"

    มีการทำสำเนาบางส่วนที่นี่ - ใช้งานได้สำหรับฉันดังนั้นใครบางคนในที่ที่ถูกต้องในการปรับเปลี่ยนเส้นทาง

  2. เวอร์ชัน msysgit ที่ใหม่กว่าอาจไม่ให้หน้าจอแก่คุณในการเลือกไฟล์ ssh ที่คุณเลือกระหว่าง Git ssh และ PuTTY ssh คุณจะต้องตั้งค่า GIT_SSH ด้วยตนเองหากคุณใช้ PuTTY

  3. ฉันไม่ได้ปฏิบัติตามคำแนะนำส่วนหนึ่งและนั่นคือการติดตั้ง Tortoise - ฉันใช้บรรทัดคำสั่งแทนเพราะนั่นเป็นวิธีที่ฉันต้องการเรียนรู้ vcs เช่นเดียวกับที่ฉันทำกับ rcs และ subversion และพบว่าทำงานได้สำหรับฉัน ฉันมีปัญหากับคำสั่ง clone โดยใช้ ssh นี่คือวิธีที่ฉันทำ:

    Git clone ใช้ ssh - หาที่เก็บไม่พบ

    นี่คือที่ฉันกระแทกหัวของฉันมากที่สุด

  4. ไดเร็กทอรีการติดตั้ง CopSsh คือ / Program Files (x86) / ICW ฉันได้ไปกับสิ่งนี้ แต่ถ้าฉันทำมันอีกครั้งฉันจะใช้ชื่อไดเรกทอรีที่ไม่มีช่องว่าง

  5. แหล่งข้อมูลอื่น ๆ เหล่านี้ช่วยฉันในการค้นหา:

    อีกวิธีในการตั้งค่าเซิร์ฟเวอร์ Git บน Windows:

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

    ด้านลูกค้าของสิ่งต่าง ๆ :

    http://toolmantim.com/thoughts/setting_up_a_new_remote_git_repository

    คำอธิบายของ Git ในฐานะเซิร์ฟเวอร์ (ไม่เกี่ยวข้องกับ Windows แต่ดูในเชิงลึกมากกว่าขั้นตอนการติดตั้ง):

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

    รวมถึงการควบคุมเวอร์ชันของ O'Reilly พร้อม Git - บทที่เก็บข้อมูลระยะไกล

เมื่อมองย้อนกลับไปถ้าฉันรู้ว่าต้องใช้เวลานานแค่ไหนฉันอาจเริ่มต้นด้วย Mercurial เนื่องจากฉันอ่านการติดตั้งบน Windows นั้นง่ายขึ้น แต่ฉันจะมีความเห็นว่าหลังจากฉันทำงานกับ Git สักครู่แล้วลอง Mercurial .


ฉันมีปัญหากับขั้นตอน CopSSH ลิงก์ไปยัง CopSSH ไม่อยู่ที่นั่นอีกแล้ว ... ฉันถูกนำไปยังsourceforge.net/projects/sereds/filesโดยที่ฉันสามารถดาวน์โหลดได้เฉพาะ cwRsync_4.0.4_Installer.zip แทนที่จะเป็นตัวติดตั้ง CopSSH ข้อเสนอแนะใด ๆ
user5243421

นี่คือลิงค์ที่ฉันใช้: itefix.no/i2/node/27
Steve

1
ตั้งแต่เดือนพฤศจิกายน 2011 Copssh เป็นโซลูชั่นเชิงพาณิชย์ เวอร์ชัน 3.0.3พร้อมให้ใช้งานฟรี
mateuscb

20

ผมไม่แน่ใจว่าทำไมทุกคนยังไม่ได้แนะนำhttp://gitblit.com วิธีการแก้ปัญหาแบบจาวาบริสุทธิ์อนุญาตให้ใช้โปรโตคอล HTTP และตั้งค่าได้ง่าย


ขอบคุณสำหรับการลงคะแนน คุณสามารถให้เหตุผลว่าทำไมถึงลงคะแนนในความคิดเห็นนี้? กรุณาเป็นค่าโดยสาร
Pritesh Patel

โครงการที่ยอดเยี่ยมทำให้วันของฉันขอบคุณ
Anderson Fortaleza

16

หลังจากทำตามคำแนะนำของ Tim Davis และติดตามผลของ Steve นี่คือสิ่งที่ฉันทำ:

เซิร์ฟเวอร์พีซี

  1. ติดตั้ง CopSSH, msysgit
  2. เมื่อสร้างผู้ใช้ CopSSH ให้ยกเลิกการเลือกการตรวจสอบรหัสผ่านและตรวจสอบการรับรองความถูกต้องของรหัสสาธารณะเพื่อให้กุญแจสาธารณะ / ส่วนตัวของคุณทำงานได้
  3. สร้างกุญแจสาธารณะ / ส่วนตัวโดยใช้ PuTTygen วางทั้งสองคีย์ในไดเร็กทอรี CopSSH / home / user / .ssh ของผู้ใช้
  4. เพิ่มสิ่งต่อไปนี้ในไฟล์ CopSSH / home / user / .bashrc ของผู้ใช้:

    GITPATH='/cygdrive/c/Program Files (x86)/Git/bin'
    GITCOREPATH='/cygdrive/c/Program Files (x86)/Git/libexec/git-core'
    PATH=${GITPATH}:${GITCOREPATH}:${PATH}
    
  5. เปิด Git Bash และสร้างที่เก็บได้ทุกที่บนพีซีของคุณ:

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

พีซีสำหรับลูกค้า

  1. ติดตั้ง msysgit
  2. ใช้ไพรเวตคีย์ที่คุณสร้างบนเซิร์ฟเวอร์เพื่อคัดลอก repo ของคุณจากssh: // ผู้ใช้ @ เซิร์ฟเวอร์: พอร์ต / repopath / repo.git (ด้วยเหตุผลบางประการรูทคือไดรฟ์ C :)

สิ่งนี้ทำให้ฉันสามารถโคลนและคอมมิชชันได้สำเร็จ แต่ฉันไม่สามารถผลักดันไปยัง repo เปล่าบนเซิร์ฟเวอร์ ฉันยังคงได้รับ:

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

สิ่งนี้นำฉันไปสู่การติดตามและโซลูชันของ Ruiซึ่งสร้างหรือเพิ่มบรรทัดต่อไปนี้เป็น. gitconfig ในพา ธ% USERPROFILE% ของพีซีไคลเอ็นต์ของคุณ(C: \ Users \ ชื่อผู้ใช้)

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

ฉันไม่แน่ใจว่าทำไมสิ่งนี้จึงเป็นสิ่งจำเป็น ... ถ้าใครสามารถให้ข้อมูลเชิงลึกมันจะมีประโยชน์

เวอร์ชัน git ของฉันคือ 1.7.3.1.msysgit.0


8

GitStackควรบรรลุเป้าหมายของคุณ ฉันมีตัวช่วยตั้งค่า ฟรีสำหรับผู้ใช้ 2 คนและมีส่วนต่อประสานกับผู้ใช้ผ่านเว็บ มันขึ้นอยู่กับ msysgit


1
ราคาจากเว็บไซต์ GitStack: ฟรีสำหรับผู้ใช้สูงสุด 5 คน, $ 299 / ปีสำหรับผู้ใช้ 6-10 คน, $ 499 / ปีสำหรับผู้ใช้ 11-25 คน, และอื่น ๆ , มากถึง $ 2999 ต่อปีสำหรับผู้ใช้ 500 คน
Simon Tewsi

1
GitStack ตอนนี้ฟรีสำหรับผู้ใช้มากถึง 2 คน
M4N

ดังนั้น 1 ผู้ใช้สำหรับผู้ที่กำลังตั้งค่าเซิร์ฟเวอร์ 1 ผู้ใช้สำหรับลูกค้าที่เข้าชมเซิร์ฟเวอร์ ขีด จำกัด นี้เข้มงวดเกินไป ทีมนักพัฒนา 2 คนนั้นเล็กเกินไปในโลกแห่งความเป็นจริง
ZhaoGang

7

มี Git stack โอเพนซอร์สที่ดีชื่อ Git Blit มันสามารถใช้ได้กับแพลตฟอร์มที่แตกต่างและในแพ็คเกจที่แตกต่างกัน คุณสามารถปรับใช้กับ Tomcat ที่มีอยู่ของคุณหรือคอนเทนเนอร์ servlet อื่น ๆ ได้อย่างง่ายดาย ดูรายละเอียดเพิ่มเติมเกี่ยวกับการติดตั้งเซิร์ฟเวอร์ git บนวินโดวส์ได้ในไม่กี่คลิกและจะใช้เวลาประมาณ 10 นาทีในการตั้งค่าพื้นฐาน


ทำงานเหมือนจับใจ ขอบคุณหนึ่งล้าน
AndroidDev

ยินดีต้อนรับฉันดีใจที่สิ่งนี้มีประโยชน์
Ruslan Platonov

นี่เป็นตัวเลือกที่ดี ใช้งานง่ายสำหรับฉัน ไม่ได้ทดสอบคอมไพล์ระยะไกล แต่ฉันคิดว่ามันจะใช้งานได้ BTW ลิงก์ไม่สามารถใช้ได้อีกต่อไป
ZhaoGang

ไม่มีลิงก์นี้อีกต่อไป
Shihe Zhang

3

คุณไม่ต้องการ SSH เพื่อแบ่งปันคอมไพล์ หากคุณใช้ LAN หรือ VPN คุณสามารถส่งออกโครงการคอมไพล์เป็นโฟลเดอร์ที่แชร์และติดตั้งในเครื่องระยะไกล จากนั้นกำหนดค่า repo ระยะไกลโดยใช้ "ไฟล์: //" URL แทน "git @" URL ใช้เวลาทั้งหมด 30 วินาที ทำ!


2

อาจไม่มีไกด์ดังกล่าว ถ้าเป็นเช่นนั้นคุณอาจไม่มีโชคมากที่จะชักชวนให้ใครเขียนเพราะมันจะเป็นงานที่ต้องทำมากมาย

ฉันอยากจะแนะนำสองสิ่ง วิธีที่ง่ายกว่าคือการทำตามคำแนะนำที่คุณใช้อย่างไม่ลดละซึ่งหมายถึงการลืม msysgit

สิ่งที่ยากกว่าคือการวางเซิร์ฟเวอร์ Linux - อาจเป็นแขกใน Windows โดยใช้ VirtualBox (ฟรี) หรือ VMWare หรือ Parallels (จ่าย) จากนั้นทำตามคำแนะนำชุดใดชุดหนึ่งที่ Google จะนำคุณไปสู่ แต่คุณอาจพบว่าคำแนะนำเหล่านั้นไม่เพียงพอ - โดยปกติพวกเขาคิดว่าคุณได้ตั้งค่าเซิร์ฟเวอร์ ssh แล้วดังนั้นคุณต้องรับข้อมูลนั้นจากที่อื่น ฉันเคยทำมาสองครั้งแล้วและสามารถพูดได้ว่าถ้าคุณไม่ได้เป็นกูรูแห่ง Linux อยู่แล้วมันจะเป็นการดิ้นรน


1

ฉันทำในสิ่งที่Bob Murphyแนะนำคือตัวเลือก "ยาก"

ฉันติดตั้ง Ubuntu ภายใต้เซิร์ฟเวอร์ VMWare (ฟรี) ที่ทำงานจากนั้นทำตามคำแนะนำในการตั้งค่า Gitosis ฉันพบว่ามันง่ายกว่าการพยายามทำให้มันทำงานภายใต้ Windows เมื่อตั้งค่าแล้วคุณไม่ต้องแตะต้องเลยเพราะการบริหาร Gitosis สามารถทำได้จาก Windows โดยการกดไฟล์ gitosis.conf เวอร์ชันที่อัปเดต งานใด ๆ ที่ฉันต้องทำบนเซิร์ฟเวอร์โดยตรงทำได้ผ่าน PuTTY ดังนั้นฉันไม่ต้องใช้อินเตอร์เฟส VMWare Server ที่น่ากลัว

เมื่อเร็ว ๆ นี้ฉันเคยยุ่งกับ VirtualBox ที่บ้านและฉันพบว่ามันดีกว่า / ทำงานได้ง่ายกว่า VMWare Server ดังนั้นมันจึงคุ้มค่าที่จะดู


1

ฉันแค่อยากจะเพิ่มประสบการณ์ของฉันด้วยการตั้งค่าPATHที่Steveและtimcกล่าวถึงข้างต้น: ฉันประสบปัญหาการอนุญาตโดยใช้เครื่องมือเชลล์ (เช่นmvและcp ) ที่มีเชลล์ปฏิบัติการของ Git เป็นครั้งแรกในเส้นทาง

ผนวกพวกเขาหลังจากเส้นทางที่มีอยู่แทนนี้แก้ไขปัญหาของฉัน ตัวอย่าง:

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

ฉันเดา CopSSH ไม่สอดคล้องกับmsysgitของเชลล์ executables ทั้งหมด ...


0

ฉันใช้GitWebAccessหลายโครงการในช่วงครึ่งปีที่ผ่านมาและพิสูจน์แล้วว่าดีที่สุดในสิ่งที่ฉันได้ลอง ดูเหมือนว่าแหล่งที่มาล่าสุดไม่ได้รับการสนับสนุนดังนั้น - อย่าใช้ไบนารี / แหล่งข้อมูลล่าสุด ขณะนี้พวกเขากำลังพัง :(

คุณสามารถสร้างจากรุ่นนี้หรือดาวน์โหลดไบนารีรวบรวมที่ฉันใช้จากที่นี่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.