gitc.id ⊙ "เครื่องมือไฟฟ้าสำหรับ git " ⊙ลิขสิทธิ์© 2021 Jeremy Carter < [email protected] >

การใช้ซอฟต์แวร์นี้ถูกควบคุมโดยข้อกำหนดของใบอนุญาต MIT ที่รวมอยู่ (GitHub Mirror)
git ใหม่อย่างรวดเร็วโดยใช้ ssh และ rsync ที่คุณสามารถผลักดันได้ด้วยเครื่องมือ gitcid ที่เปิดใช้งานภายในgit repos และเพิ่มเครื่องมือ gitcid ภายในพวกเขาgitcid อาศัยอยู่ภายในแต่ละรายการในพื้นที่หรือระยะไกล git repo คุณสามารถเพิ่มลงใน repos ที่มีอยู่ของคุณด้วยคำสั่งเดียวgitcid ลงใน repo ของคุณมันจะได้รับคุณสมบัติ CI/CD ในตัวด้วยความช่วยเหลือเล็กน้อยจาก docker-compose (ทำงานระหว่างดำเนินการ)CI/CD pipelines ของคุณในรูปแบบ yaml ที่อาจสะดวกสบายสำหรับคุณหากคุณเคยใช้ระบบ CI/CD อื่น ๆ มาก่อนdedicated git servers อย่างรวดเร็วไปยังตำแหน่งระยะไกล ssh โดยใช้คำสั่งหนึ่งคำสั่ง ขอแนะนำให้ติดตั้งไว้ในอุปกรณ์เฉพาะบางอย่างบน LAN ของคุณเช่น Raspberry Pi ที่ใช้ Raspberry Pi OS (aarch64 or armhf) รองรับเป้าหมาย Debian (amd64) ปกติ บางทีมันอาจใช้งานได้กับ distros Debian-derived เช่นกัน แต่นั่นก็ไม่ได้รับการทดสอบgit server ของคุณและจะแบ่งปัน git repos ใด ๆ ที่พบกับ LAN ที่เหลือของคุณโดยอัตโนมัติgit repos ที่ใช้ร่วมกันของคุณด้วย GitWeb UI ที่คุ้นเคย Gitcid จะพยายามติดตั้งสิ่งเหล่านี้ให้คุณโดยอัตโนมัติหากขาดหายไปจากระบบของคุณ แต่ถ้ามันล้มเหลวคุณอาจต้องติดตั้งด้วยตัวเอง:
pip หรือ pip3 (Manager แพ็คเกจ Python) เป็นรุ่นที่ทำงานได้อย่างถูกต้อง มีการพึ่งพาอีกสองสามอย่างที่จำเป็นขึ้นอยู่กับระบบปฏิบัติการของคุณ แต่ควรติดตั้งโดยอัตโนมัติในกรณีส่วนใหญ่ ดูไฟล์ใน .gc/.gc-deps สำหรับรายละเอียดทั้งหมด
ตรวจสอบให้แน่ใจว่าคุณติดตั้ง git และ curl ก่อนจากนั้นเรียกใช้คำสั่งต่อไปนี้:
source <( curl -sL https://tinyurl.com/gitcid ) เมื่อคำสั่งนี้เสร็จสิ้นมันจะสร้างโฟลเดอร์ใหม่ที่เรียกว่า gitcid ในไดเรกทอรีปัจจุบันของคุณและจากนั้นจะนำคุณเข้าสู่โฟลเดอร์ใหม่นี้
(ไม่บังคับ) หรือถ้าคุณต้องการคุณสามารถเรียกใช้คำสั่งนี้แทน:
git clone https://gitlab.com/defcronyke/gitcid.git && cd gitcid && echo " " && .gc/init.sh -h ในโฟลเดอร์ gitcid ให้เรียกใช้คำสั่งนี้:
.gc/new-remote.sh ~ /repo1.git~/repo1.gitgit clone ที่เหมาะสมที่คุณสามารถใช้เพื่อโคลน repo ใหม่ของคุณที่ด้านล่างของผลลัพธ์หากทุกอย่างทำงานอย่างถูกต้อง คุณสามารถใช้เส้นทาง ssh ระยะไกลสำหรับตำแหน่ง repo ระยะไกลใหม่เช่นเดียวกับเส้นทางท้องถิ่นเช่น:
.gc/new-remote.sh git1: ~ /repo1.git ตัวอย่างคำสั่ง git clone เพื่อโคลน git repo ของคุณอาจมีลักษณะเช่นนี้:
git clone git1: ~ /repo1.git && cd repo1มันเป็นเพียงวิธีปกติในการโคลน repos git
เมื่อคุณทำ repo ระยะไกลใหม่ของคุณคุณจะได้รับคำสั่งที่คุณสามารถใช้เพื่อเพิ่มคุณสมบัติ GitCid ลงใน repo โคลนในท้องถิ่นของคุณที่คุณโคลนจากรีโมท นี่คือคำสั่งเดียวกันในกรณีที่คุณต้องการ ตรวจสอบให้แน่ใจว่าคุณอยู่ใน repo ในพื้นที่ของคุณเมื่อคุณเรียกใช้คำสั่งนี้:
source <( curl -sL https://tinyurl.com/gitcid ) -e คำสั่งด้านบนจะเพิ่ม gitcid ลงใน git repo ของคุณในโฟลเดอร์. gitignore'd ที่เรียกว่า: .gc/
เรียกใช้คำสั่งนี้จากไดเรกทอรีระดับบนสุดของ Gitcid repo สำหรับข้อมูลการใช้งาน:
.gc/init.sh -hเรียกใช้คำสั่งนี้จากไดเรกทอรีระดับบนสุดของ git repo ที่มีอยู่ของคุณที่คุณต้องการติดตั้ง gitcid ลงใน (ใช้ได้กับ repos ปกติและเปลือย):
source <( curl -sL https://tinyurl.com/gitcid ) -e หมายเหตุ: เป้าหมายระยะไกลต้องติดตั้ง rsync
เรียกใช้คำสั่ง .gc/init.sh เหล่านี้จากไดเรกทอรีระดับบนสุดของ Gitcid repo เพื่อสร้างที่เก็บ Gitcid Git ใหม่
สร้าง repo git ท้องถิ่นใหม่ด้วยชื่อเริ่มต้นของ " repo " ในไดเรกทอรีปัจจุบัน:
.gc/init.shทำ repo git ท้องถิ่นใหม่:
.gc/init.sh ./local-repoสร้าง Remote Git Repo ใหม่ที่เส้นทางเซิร์ฟเวอร์ SSH เป้าหมาย:
.gc/init.sh user@host: ~ /remote-repoสร้าง repos git ใหม่หลายครั้งในครั้งเดียวท้องถิ่นและ/หรือรีโมต:
.gc/init.sh local-repo1 user@host: ~ /remote-repo1 user@host: ~ /remote-repo2 ./local-repo2สร้าง repos git เปลือยใหม่หลายครั้งในครั้งเดียว (เหมาะสำหรับการใช้เป็นรีโมต Git), ท้องถิ่นและ/หรือระยะไกล:
.gc/init.sh -b user@host: ~ /remote-bare-repo1.git local-bare-repo1.git ./local-bare-repo2ติดตั้งเซิร์ฟเวอร์ GIT ที่ตำแหน่ง SSH เป้าหมายโดยใช้เครื่องมือจากโครงการนี้:
https://gitlab.com/defcronyke/git-server
แพลตฟอร์มเป้าหมายที่รองรับในปัจจุบัน:
การสนับสนุนแพลตฟอร์ม Wishlist (โปรดทดสอบและสนับสนุนคำแนะนำการแก้ไขหากคุณต้องการช่วยเพิ่มการสนับสนุนเหล่านี้):
บางทีมันอาจใช้งานได้กับแพลตฟอร์มเดเบียนหรือเดเบียนอื่น ๆ แต่ยังไม่ได้รับการทดสอบ
คำเตือน: ใช้ความเสี่ยงของคุณเอง! คุณควรเรียกใช้คำสั่งในส่วนนี้เพื่อติดตั้งเซิร์ฟเวอร์ GIT เฉพาะลงบน Linux distro ที่ติดตั้งใหม่ซึ่งมีวัตถุประสงค์เพื่อใช้เป็นเซิร์ฟเวอร์ GIT เฉพาะเท่านั้น! สิ่งนี้จะติดตั้งการพึ่งพาบางอย่างโดยอัตโนมัติและทำการกำหนดค่าระบบบางอย่างที่คุณอาจไม่ต้องการใช้กับอุปกรณ์ที่ใช้เพื่อวัตถุประสงค์อื่น ใช้ความเสี่ยงของคุณเอง! คุณได้รับการเตือนแล้ว !!
ติดตั้ง git server ไปยังตำแหน่ง ssh ระยะไกล (หรือสองอย่างในตัวอย่างนี้) โดยเรียกใช้คำสั่งต่อไปนี้ใน bash มินัลทุบตี:
source <( curl -sL https://tinyurl.com/gitcid ) && .gc/new-git-server.sh -o pi@git1 $USER @gitlab โดยปกติแล้วมันจะใช้งานได้และด้วยการตั้งค่าสถานะ -o ที่ใช้ด้านบนมันควรเปิดหน้าเว็บโดยอัตโนมัติสำหรับเซิร์ฟเวอร์ GIT แต่ละตัวที่พบในเครือข่ายของคุณหลังจากการติดตั้งเสร็จสิ้น สำหรับข้อมูลเพิ่มเติมและตัวเลือกอื่น ๆ ดูส่วนถัดไปด้านล่าง
ตัวอย่างด้านบนจะติดตั้ง gitcid ซึ่งทำให้ง่ายต่อการทำงานกับเซิร์ฟเวอร์ Git หากคุณติดตั้ง gitcid อยู่แล้วคุณไม่จำเป็นต้องติดตั้งอีกครั้งดังนั้นในกรณีนั้นคุณสามารถละเว้นส่วนแรกของคำสั่งด้านบนตัวอย่างเช่น:
.gc/new-git-server.sh -o pi@git1 $USER @gitlab เพียงตรวจสอบให้แน่ใจว่าคุณอยู่ใน gitcid/ โฟลเดอร์ก่อน (หรือ gitcid -enabled -enabled git repo) ก่อนที่จะพยายามเรียกใช้คำสั่ง gitcid ใด ๆ
ติดตั้ง gitcid:
source <( curl -sL https://tinyurl.com/gitcid ) หากประสบความสำเร็จตอนนี้คุณจะอยู่ในโฟลเดอร์ ./gitcid/ / โฟลเดอร์ คุณต้องอยู่ในโฟลเดอร์นี้สำหรับขั้นตอนที่ 2
ติดตั้งเซิร์ฟเวอร์ GIT ใหม่ลงบนอุปกรณ์เฉพาะที่ตำแหน่งเป้าหมาย ssh ที่กำหนด:
.gc/new-git-server.sh -h.gc/new-git-server.sh git1 git2 gitlab.gc/new-git-server.sh -o git1 git2 gitlab.gc/new-git-server.sh -y git1 git2 gitlab.gc/new-git-server.sh -yo git1 git2 gitlab.gc/new-git-server.sh -s git1 git2 gitlab.gc/new-git-server.sh -so git1 git2 gitlab~/.ssh/config ของคุณ แต่ถ้าคุณต้องการคุณสามารถเพิ่มชื่อผู้ใช้ในคำสั่งด้านล่างสำหรับแต่ละเป้าหมาย คุณสามารถทำได้สำหรับคำสั่งต่าง ๆ ที่ระบุไว้ข้างต้นตัวอย่างเช่น: .gc/new-git-server.sh -yo pi@git1 pi@git2 $USER @gitlab หากทุกอย่างทำงานตามที่ตั้งใจไว้เซิร์ฟเวอร์ GIT ของคุณพร้อมใช้งานแล้ว ดูผลลัพธ์ในเทอร์มินัลของคุณสำหรับรายละเอียดเพิ่มเติม ในระหว่างการติดตั้งแบบขนาน (พฤติกรรมเริ่มต้นเว้นแต่จะใช้ตัวแปร -s FLAG) หากการสนับสนุน SUDO ที่ไม่ได้มีการกำหนดค่าไม่ได้กำหนดค่าบนเป้าหมายระบบจะกลับไปสู่โหมดการติดตั้งตามลำดับสำหรับเป้าหมายใด ๆ ที่ต้องการรหัสผ่าน Sudo ที่พิมพ์ด้วยตนเอง หลังจากพิมพ์รหัสผ่าน sudo เมื่อประสบความสำเร็จการกำหนดค่า Sudo แบบไม่มีรหัสผ่านจะถูกพยายามกับเป้าหมายเพื่อให้การโต้ตอบในอนาคตกับเป้าหมายนั้นสามารถอัตโนมัติได้อย่างสมบูรณ์
นี่คือตัวอย่างของวิธีการใช้เซิร์ฟเวอร์ GIT ของคุณสำหรับงานที่เกี่ยวข้องกับ GIT ทั่วไป คำสั่งต่อไปนี้ควรเรียกใช้จากภายใน gitcid/ โฟลเดอร์ของคุณหรือภายใน gitcid -enabled -enabled git repo ใด ๆ
สร้าง repo ระยะไกล Git ใหม่บนเซิร์ฟเวอร์ Git ตัวอย่างเช่น repo ชื่อ repo1.git ที่ชื่อโฮสต์ git1 :
.gc/new-remote.sh git1:repo1Remote Repos ที่สร้างขึ้นใหม่จะพร้อมใช้งานสำหรับการใช้งานหลังจากการหน่วงเวลาสั้น ๆ โดยทั่วไปจะน้อยกว่า 1 นาที หากคุณได้รับข้อผิดพลาดเมื่อพยายามใช้ Repo ระยะไกลที่สร้างขึ้นใหม่ลองอีกครั้งหลังจากผ่านไป 1 นาทีตั้งแต่สร้างมันและควรใช้งานได้
โคลนสำเนา repo ใหม่ของคุณจากเซิร์ฟเวอร์:
git clone git1: ~ /git/repo1.git
cd repo1กระทำการเปลี่ยนแปลงบางอย่างกับ repo ใหม่ของคุณจากนั้นส่งไปยังรีโมตต้นทางบนเซิร์ฟเวอร์ Git ของคุณ:
date | tee -a test1.txt
git add .
git commit -m " A test commit. "
git push (ไม่บังคับ) เพิ่ม gitcid ลงในสำเนาของคุณ GIT repo ของคุณหากคุณต้องการใช้คำสั่ง gitcid ใด ๆ ในขณะที่ทำงานภายใน repo ของคุณ เรียกใช้คำสั่งต่อไปนี้ในขณะที่อยู่ใน repo ของคุณเพื่อติดตั้งคุณสมบัติ gitcid :
source <( curl -sL https://tinyurl.com/gitcid ) -e (ไม่บังคับ) ด้วยการเพิ่ม gitcid ใน repo ของคุณจากขั้นตอนก่อนหน้านี้คุณสามารถกระทำและผลักดันได้ง่ายขึ้น:
.gc/commit-push.sh Commit message. หากคุณต้องการมีส่วนร่วมในการพัฒนา git server คุณสามารถเรียกใช้คำสั่งนี้ได้หากคุณต้องการเพื่อช่วยคุณตั้งค่าสภาพแวดล้อม dev ของคุณเพื่อจุดประสงค์นี้:
source <( curl -sL https://tinyurl.com/gitcid ) -d มันจะโคลนที่เก็บข้อมูลของโครงการ Git ทั้งหมดและจะติดตั้ง gitcid ลงในพวกเขาเพื่อความสะดวก