การตั้งค่าที่เก็บ Git บน Windows Server ระยะไกล?


22

ฉันมี windows server ซึ่งสามารถเข้าถึงแบบโลคัลหรือทางไกลผ่านอินเทอร์เน็ตผ่านการเชื่อมต่อเดสก์ท็อประยะไกล ฯลฯ

ฉันต้องการตั้งค่าพื้นที่เก็บข้อมูล git (สิ่งที่คล้ายกับ "ลำตัว" ในการโค่นล้ม) ที่สามารถมีชุดของที่เก็บสำหรับหลายโครงการ

ไม่มีใครรู้ว่าฉันจะทำอย่างไรกับเรื่องนี้? ฉันต้องการใช้ GUI ถ้าเป็นไปได้ ฉันได้ติดตามGit Bash Tutorial นี้แล้วแต่มันก็ยืดยาวมากและไม่ใช่สิ่งที่ฉันตามมา

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

ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชมอย่างมาก!

คำตอบ:


13

วันนี้มีคุณลักษณะการอัปโหลด "smart HTTP" ซึ่งอาจแทนที่การเข้าถึง SSH ไม่จำเป็นต้องสร้างคีย์ส่วนตัวอีกต่อไปและการติดตั้งควรง่ายขึ้นเนื่องจากส่วนประกอบเซิร์ฟเวอร์สามารถเขียนได้ในภาษาที่ต้องการ:

หากล้มเหลวทั้งหมดคุณสามารถเลือกที่จะตั้งค่าเซิร์ฟเวอร์ Apache และใช้git-http-backendไบนารี CGI มาตรฐานดู: ขั้นตอนในการตั้งค่า git-http-backend w / Apache บน Windows คืออะไร


โปรดทราบว่า "วันนี้" มีอายุมากกว่า 2 ปี ในฐานะที่เป็นคำตอบอันดับต้นฉันอยากรู้ว่ามีอะไรเปลี่ยนแปลงในใจบ้างไหม?
RyanW

ทั้งสองได้รับการสนับสนุนอย่างเท่าเทียมกันบน Linux และทั้งสองจะยังคงอยู่ ฉันไม่รู้เกี่ยวกับสถานการณ์ของ Windows ในตอนนี้มากเท่าไรและอื่น ๆ ที่ฉันคาดหวังว่าการสนับสนุน HTTP จะเป็นโซลูชันที่ต้องการ * เนื่องจากฉันส่วนใหญ่ใช้ Mac / Linux "วันนี้";)
vdboor

สวัสดี @vdboor ฉันมีหนึ่งคำถาม หากเราใช้ ssh เราสามารถตรวจสอบกุญแจสาธารณะเพื่อที่เราไม่จำเป็นต้องส่งรหัสผ่านทุกครั้งที่เราต้องการดึงหรือดัน คุณลักษณะการลงชื่อเข้าใช้ครั้งเดียวมีให้บริการในSmart Httpวิธีการหรือไม่ ฉันหมายถึงการระบุรหัสผ่านหนึ่งครั้งสำหรับการกระทำแบบพุช / ดึงทั้งหมดไปยังเซิร์ฟเวอร์
AmirHossein


2

คุณสามารถดูการใช้ Cygwin + SSH + Gitosis เพื่อตอบสนองความต้องการเหล่านั้น แต่น่าเสียดายที่มันไม่ใช่กระบวนการตั้งค่าแบบคลิกและจุดง่ายๆ ฉันเขียนโพสต์บล็อกโดยละเอียดเกี่ยวกับประสบการณ์ล่าสุดของฉัน (รวมถึงขั้นตอนการตั้งค่า)

สำหรับความต้องการของคุณสำหรับการใช้งานแบบกราฟิกฉันขอแนะนำให้ระบบไคลเอนต์ของคุณติดตั้งTortoiseGit สิ่งนี้จะป้องกันความจำเป็นในการใช้บรรทัดคำสั่งสำหรับการเพิ่มการคอมมิชชันการกด / การดึงและอื่น ๆ


ตัวเลือกไคลเอ็นต์ SSH ใดที่ดีที่สุดที่จะไปด้วย - TortoisePLink หนึ่งหรือ OpenSSH หรือไม่
Goober

ไม่ว่าจะใช้งานได้ แต่อาจเป็นไปได้ที่ดีที่สุดที่จะไปกับ openSSH เว้นแต่คุณจะมีเหตุผลที่จะทำอย่างอื่น - ถ้าไม่ให้ใช้ค่าเริ่มต้น
ทำเครื่องหมาย Embling

1

คุณสามารถตั้งค่าภายใต้Cygwin :

ถ้าคุณไปสำหรับ cygwin คุณสามารถทำได้บนเซิร์ฟเวอร์และรัน git-daemon ภายใต้ cygwin แต่ยังคงใช้ msysgit บนไคลเอนต์

ทำให้คอมไพล์ทำงานได้อย่างถูกต้องจาก cygwin


ควรสังเกตว่า git-daemon ให้การเข้าถึงโดยใช้โปรโตคอล git: // เท่านั้น (ไม่ใช่ ssh หรือไฟล์) และเป็นแบบอ่านอย่างเดียว เพื่อให้การเข้าถึงการเขียนนั้นจะต้องทำผ่าน ssh หรือระบบไฟล์ (หรือนามธรรมมากกว่านั้น)
ทำเครื่องหมาย Embling

รายละเอียดเพิ่มเติม: kernel.org/pub/software/scm/git/docs/…
Mark Embling


1

Gogsเป็นสิ่งที่ควรค่าแก่การดู: ใช้งานง่าย (ตัวเลือกการติดตั้งที่รองรับหลายตัว), ข้ามแพลตฟอร์ม (รวมถึง Windows), น้ำหนักเบา, โอเพนซอร์ส


คุณลองไหม
Janus Troelsen

1

นี่คือตัวเลือกบางส่วน:


ฉันจะไม่ลงคะแนนให้คุณในเรื่องนี้อย่างหมดจดเพราะคุณเปิดเผยการมีส่วนร่วมของคุณ ไม่เป็นไร แต่เป็นการเตือนใจหากคุณทำโพสต์ลิงก์ไปยังผลิตภัณฑ์นี้คุณอาจถูกระงับเนื่องจากสแปม นอกเหนือจาก - ยินดีต้อนรับสู่ Server Fault เราขอให้คุณเดินทางอย่างเพลิดเพลิน :-)!
Ben Pilbrow

ฉันเป็นผู้ใช้งานของ StackOverflow มาก - นี่เป็นโพสต์แรกของฉันที่ ServerFault ขอบคุณสำหรับการต้อนรับ :)
Lilith River

1
ไม่ใช่วิธี GUI เท่านั้น - ยังมีgitstack.com (ฉันไม่ได้เกี่ยวข้องกับโครงการ & ไม่ได้ลอง) อาจมีคนอื่นด้วย
rjmunro

โปรดทราบว่าคำตอบนี้มีอายุเกินหนึ่งปีและ gitstack เพิ่งเปิดตัวเมื่อไม่กี่เดือนที่ผ่านมา
Lilith River

Crappy Environment บน Windows .... ผู้ใช้ windows คุณไม่ดีจ่ายเงินเป็นจำนวนมากสำหรับอึ :) ใช้bonobogitserver.comแทน
AmirHossein



0

GitStackเป็นสิ่งที่ฉันกำลังประเมินอยู่

ขณะที่ฉันเริ่มกระบวนการนี้ด้วย (ตั้งค่าเซิร์ฟเวอร์ Git บน Windows) และการสนทนานี้อายุเกินหนึ่งปีฉันคิดว่าฉันจะเพิ่มสิ่งนั้นลงในมิกซ์


0

ตรวจสอบGitwin - เซิร์ฟเวอร์ Git ที่เปิดใช้ OpenSSH สำหรับ Windows นอกจากนี้ยังมีรุ่นฟรี ข้อจำกัดความรับผิดชอบ: ฉันเป็นผู้พัฒนา :-)


0

Gitlabเป็นโซลูชั่นที่ยอดเยี่ยมและมีส่วนต่อประสานกับเว็บ เพื่อให้มันทำงานได้ตามความต้องการของคุณ

  1. เปิด hyperV บนเซิร์ฟเวอร์ windows ของคุณ
  2. หมุน Linux VM
  3. ติดตั้ง Gitlab บน VM

Gitlab ใช้ RAM 2 กิ๊กไม่ใช่ความคิดที่สมเหตุสมผล
AmirHossein

0

หากคุณมีทีมนักพัฒนา 5-10 คนฉันขอแนะนำให้ไปกับ vanilla git กับ ssh ติดตั้งง่ายและคุณมี ssh เพื่อปกป้องข้อมูลระหว่างทาง

หากคุณมีหลายทีมที่มีผลประกอบการที่ดีหากสมมติว่าคุณเปิดใช้งานไดเรกทอรีที่ใช้งานอยู่ของ Windows คุณอาจต้องการพิจารณา Atbaset bitbucket เราใช้ bitbucket เป็นหลักสำหรับข้อกำหนดดังต่อไปนี้: 1. จัดการที่เก็บ git เป็นโครงการซึ่งเราสามารถให้การควบคุมการเข้าถึงด้วยตนเองในระดับโครงการ 2. การรวมการเข้าสู่ระบบ LDAP ด้วยการซิงค์กลุ่มโฆษณา 3. ความพยายามในการดูแลระบบต่ำมาก


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