การทำงานหลายโปรเจกต์ในหลายทีมพร้อมกันในแต่ละวันอาจเป็นเรื่องปวดหัวอย่างมาก หากคุณไม่มีวิธีการที่ชัดเจนในการจำลองการตั้งค่าสภาพแวดล้อม Windows ของคุณโดยใช้Gitเมื่อคุณเปลี่ยนคอมพิวเตอร์ ติดตั้งระบบใหม่ หรือเพิ่มเครื่องใหม่ ทุกอย่างก็หายไปหมด ไม่ว่าจะเป็น repositories, keys, การตั้งค่า Git, เครื่องมือต่างๆ... ข่าวดีก็คือ คุณสามารถจำลองเวิร์กโฟลว์แบบเดียวกันกับที่คุณเคยทำบน macOS หรือ Linux ได้ แต่ปรับให้เข้ากับ Windows 10 หรือ 11 โดยไม่ลดทอนความปลอดภัยหรือความสะดวกสบาย
ในบทความนี้ คุณจะได้เรียนรู้ขั้นตอนอย่างละเอียดเกี่ยวกับการตั้งค่าสภาพแวดล้อมการพัฒนาบน Git ในระบบ Windows ซึ่งจะจำลองการทำงานที่คุณเคยใช้บนระบบอื่นๆ คุณจะได้เรียนรู้ทุกอย่างตั้งแต่การติดตั้งและการกำหนดค่า Git ไปจนถึงการโคลน repository (รวมถึง private repositories) วิธีต่างๆ ในการใช้คำสั่ง `git clone`การใช้งาน SSH เทียบกับ HTTPS และตัวเลือกขั้นสูง เช่นbare repositories , mirrorsและ templates เป้าหมายคือเพื่อให้คุณได้การตั้งค่าที่สะดวก ปลอดภัย และสามารถทำซ้ำได้ง่ายบนพีซีเครื่องใหม่ทุกเครื่อง
วัตถุประสงค์: เพื่อจำลองสภาพแวดล้อมการพัฒนาและการทำงานร่วมกันด้วย Git บนระบบปฏิบัติการ Windows
เป้าหมายหลักคือการทำให้คุณสามารถใช้งาน Git บนเครื่อง Windows ใหม่ของคุณได้ในแบบเดียวกับที่คุณเคยทำบน Mac หรือเครื่องอื่นๆซึ่งไม่เพียงแต่รวมถึงการโคลน repository เท่านั้น แต่ยังรวมถึงการจำลองวิธีการตรวจสอบสิทธิ์ (โดยเฉพาะอย่างยิ่งหากคุณใช้ repository ส่วนตัวบน GitHub หรือ Bitbucket) และวิธีการทำงานร่วมกับนักพัฒนาคนอื่นๆ ด้วย
ในทางปฏิบัติ สิ่งที่คุณต้องการคือให้พีซีเครื่องใหม่ของคุณกลายเป็นสำเนาที่ใช้งานได้ของสภาพแวดล้อมการทำงานเดิมของคุณ : ที่เก็บข้อมูลเดียวกัน โครงสร้างโฟลเดอร์เดียวกัน สาขาหลักเดียวกัน และถ้าเป็นไปได้ ชื่อเรียกย่อและค่าการตั้งค่า Git เดียวกัน หากคุณมีกลยุทธ์ที่ชัดเจนสำหรับการสร้างที่เก็บข้อมูลระยะไกลใหม่และการแชร์ที่เก็บข้อมูลเหล่านั้นด้วย ก็ยิ่งดีขึ้นไปอีก
การทำงานร่วมกันระหว่างคลังข้อมูลและทีม
หนึ่งในประเด็นสำคัญเมื่อทำการโคลนสภาพแวดล้อมของคุณคือ คุณจะไม่ทำงานคนเดียว: คุณจำเป็นต้องมีระบบที่เอื้อต่อการทำงานร่วมกันระหว่างคลังเก็บข้อมูลและระหว่างนักพัฒนาหลายคน Git ถูกออกแบบมาเพื่อสิ่งนี้โดยเฉพาะ: แต่ละคนจะมีสำเนาโครงการที่สมบูรณ์ในเครื่องของตนเอง ทำงานกับมัน แล้วจึงแลกเปลี่ยนการเปลี่ยนแปลงกับคลังเก็บข้อมูลระยะไกลส่วนกลาง (GitHub, Bitbucket, GitLab, เซิร์ฟเวอร์ของคุณเอง ฯลฯ)
เมื่อคุณโคลน repository ไปยังเครื่อง Windows ใหม่ของคุณ คุณจะได้รับประวัติการ commit ทั้งหมด สาขาทั้งหมด และแท็กทั้งหมดจากไซต์ระยะไกล ซึ่งหมายความว่าคุณสามารถทำงานร่วมกันได้เหมือนเดิม ไม่ว่าจะเป็นการ commit , push , pull และfetchingการสร้างสาขา การเปิดpull requestและอื่นๆ การมีส่วนร่วมของคุณในโครงการโอเพนซอร์สหรือ repository ภายในของบริษัทจะยังคงอยู่ครบถ้วน ตราบใดที่คุณได้กำหนดค่าวิธีการตรวจสอบสิทธิ์อย่างถูกต้องแล้ว

การเตรียมสภาพแวดล้อมใน Windows
ก่อนที่คุณจะเริ่มโคลน repository อย่างไม่ยั้งคิด คุณต้องตรวจสอบให้แน่ใจว่าสภาพแวดล้อม Git บน Windows ของคุณได้รับการติดตั้งและกำหนดค่าอย่างถูกต้องแล้วประสบการณ์การใช้งานจะแตกต่างจากบน macOS เล็กน้อย แต่ผลลัพธ์สุดท้ายก็มีประสิทธิภาพไม่แพ้กัน
การติดตั้ง Git บน Windows
บนระบบ Windows วิธีที่ง่ายที่สุดในการเริ่มต้นคือการดาวน์โหลดตัวติดตั้ง Git อย่างเป็นทางการจากgit-scm.comตัวช่วยติดตั้งจะแนะนำคุณผ่านหน้าจอต่างๆ ซึ่งคุณสามารถเลือกได้ เช่น โปรแกรมแก้ไขข้อความเริ่มต้น วิธีที่คุณต้องการผสานรวม Git กับเทอร์มินัล และว่าคุณจะใช้ Git Bash หรือไม่ สำหรับผู้ใช้ส่วนใหญ่ การปล่อยให้ตัวเลือกที่แนะนำเป็นไปตามนั้นก็เพียงพอแล้ว
Git สำหรับ Windows จะติดตั้งทั้งเครื่องมือบรรทัดคำสั่งและGit Bash ซึ่งเป็นเหมือนคอนโซลแบบ Unixภายใน Windows หากคุณเคยใช้ macOS มาก่อน คุณอาจจะรู้สึกสะดวกสบายในการใช้ Git Bash มากกว่าพรอมต์คำสั่งแบบคลาสสิก เนื่องจากคำสั่งและลักษณะการทำงานคล้ายคลึงกับสิ่งที่คุณคุ้นเคยอยู่แล้ว
การตั้งค่า Git ขั้นพื้นฐานบนพีซีเครื่องใหม่ของคุณ
เมื่อติดตั้งเสร็จแล้ว ขอแนะนำให้ทำการตั้งค่าขั้นต่ำก่อน ได้แก่ชื่อผู้ใช้และที่อยู่อีเมลที่จะปรากฏใน commit ของคุณ สามารถทำได้โดยใช้คำสั่ง:
git config --global user.name "Tu Nombre"
git config --global user.email "[email protected]"
นอกจากนี้ คุณยังสามารถปรับรายละเอียดอื่นๆ ได้ เช่น ตัวแก้ไขเริ่มต้น สาขาเริ่มต้น (ตัวอย่างเช่น หลักแทนที่จะเป็นมาสเตอร์หรือชื่อแทนที่คุณเคยใช้ในคอมพิวเตอร์เครื่องอื่น หากคุณมีไฟล์การกำหนดค่าที่ปรับแต่งเองอย่างมากบน Mac ของคุณ (โดยทั่วไป) ~/.gitconfigคุณสามารถคัดลอกเนื้อหาและปรับเปลี่ยนใน Windows ได้ โดยต้องคำนึงถึงเส้นทางและลักษณะเฉพาะของระบบด้วย
การตรวจสอบสิทธิ์: HTTPS เทียบกับ SSH บน Windows
หนึ่งในแง่มุมที่สร้างความสับสนมากที่สุดในการย้ายระบบไปใช้ Windows คือวิธีการตรวจสอบสิทธิ์ในการเข้าถึงที่เก็บข้อมูลระยะไกลส่วนตัวใน macOS การใช้คีย์ SSH เป็นเรื่องปกติมาก และใน Windows คุณก็สามารถทำเช่นเดียวกันได้ แม้ว่าคุณจะสามารถเลือกใช้ HTTPS ร่วมกับตัวจัดการข้อมูลรับรองได้เช่นกัน
เมื่อใช้ HTTPS Git จะขอให้คุณป้อนชื่อผู้ใช้และรหัสผ่าน (หรือโทเค็น ส่วนตัว ) เมื่อคุณพยายามโคลนพุชหรือพูลไปยังที่เก็บข้อมูลส่วนตัวเพื่อหลีกเลี่ยงการป้อนข้อมูลประจำตัวทุกครั้ง Git สำหรับ Windows มีตัวจัดการข้อมูลประจำตัวที่จัดเก็บข้อมูลของคุณอย่างปลอดภัย ถึงกระนั้น สำหรับนักพัฒนาหลายคน SSH ยังคงเป็นตัวเลือกที่สะดวกและเสถียรที่สุด
หากคุณต้องการทำซ้ำขั้นตอนการทำงานเดิมของคุณ วิธีที่สมเหตุสมผลที่สุดคือการสร้างหรือคัดลอกขั้นตอนการทำงานของคุณ คีย์ SSH ใน Windowsเพิ่มคีย์สาธารณะลงในบัญชี GitHub หรือ Bitbucket ของคุณ (หากยังไม่ได้ทำ) และใช้ URL SSH สำหรับที่เก็บข้อมูลของคุณ ดังนี้: [email protected]:usuario/repositorio.gitดังนั้น การตรวจสอบสิทธิ์จะเป็นไปโดยอัตโนมัติ ตราบใดที่เอเจนต์ SSH มีคีย์ส่วนตัวที่ถูกต้องโหลดอยู่
การใช้งานคำสั่ง git clone ขั้นพื้นฐานใน Windows
เมื่อติดตั้ง Git และจัดการเรื่องการตรวจสอบสิทธิ์เรียบร้อยแล้ว ก็ถึงเวลาที่จะ... คัดลอกที่เก็บข้อมูลที่คุณเคยมีอยู่ในคอมพิวเตอร์เครื่องเก่าของคุณศูนย์บัญชาการหลักที่คุณจะใช้คือ git cloneจากนั้นก็จะมีรูปแบบต่างๆ ให้เลือกตามความต้องการของคุณ
การโคลนนิ่งมาตรฐานของที่เก็บข้อมูล
โดยทั่วไป ขั้นตอนการทำงานปกติบน Windows คือ เปิดGit Bash, PowerShell หรือเทอร์มินัลที่คุณต้องการไปยังโฟลเดอร์ที่คุณต้องการบันทึกโปรเจ็กต์ และเรียกใช้คำสั่งต่อไปนี้:
git clone URL-del-repositorio
ตัวอย่างเช่น หากคุณใช้ HTTPS:
git clone https://github.com/TU-USUARIO/TU-REPO.git
คำสั่งนี้จะสร้างไดเร็กทอรีใหม่ที่มีชื่อเดียวกับชื่อของที่เก็บข้อมูล ดาวน์โหลดอ็อบเจ็กต์ Git ทั้งหมด (ประวัติทั้งหมด สาขา แท็ก) และเตรียมไดเร็กทอรีให้พร้อมใช้งาน โดยที่สาขาเริ่มต้นของคุณจะถูกเลือกไว้แล้วจากนั้นเป็นต้นไป คุณสามารถแก้ไขไฟล์ ทำการคอมมิต และพุชไปยังที่เก็บข้อมูลระยะไกลได้เหมือนกับที่คุณทำบน Mac ของคุณ
การโคลนไปยังโฟลเดอร์ที่ระบุ
หากคุณไม่ต้องการให้ Git สร้างไดเร็กทอรีที่มีชื่อเดียวกับที่เก็บ คุณสามารถระบุปลายทางที่กำหนดเองได้ วิธีนี้มีประโยชน์เมื่อคุณต้องการจำลองโครงสร้างโฟลเดอร์โปรเจ็กต์เฉพาะบนเครื่อง Windows ใหม่ของคุณคำสั่งคือ:
git clone URL-del-repo nombre-de-carpeta
ตัวอย่างเช่น:
git clone [email protected]:TU-USUARIO/TU-REPO.git C:\Desarrollo\ProyectoCliente
ด้วยวิธีนี้ เนื้อหาในที่เก็บข้อมูลจะถูกดาวน์โหลดไปยังโฟลเดอร์ที่คุณระบุ โดยตรง หากโฟลเดอร์นั้นยังไม่มีอยู่หรือว่างเปล่า
การโคลนสาขาหรือป้ายกำกับเฉพาะ
บางครั้งคุณอาจไม่สนใจที่จะดาวน์โหลดทุกสาขา หรือคุณอาจไม่ได้ใช้งานสาขาหลัก ด้วยตัวเลือกนี้ คุณจึงไม่ต้องกังวล -b (o --branch) สามารถ โคลนโดยชี้ไปยังสาขาเฉพาะโดยตรง:
git clone -b nombre_de_la_rama URL-del-repo
วิธีนี้มีประโยชน์มากเมื่อคุณต้องการเน้นไปที่สาขาการพัฒนาเฉพาะ สาขาการบำรุงรักษา หรือแท็กที่เผยแพร่แล้ว ระบบจะโคลนที่เก็บข้อมูลทั้งหมด แต่การตรวจสอบครั้งแรกจะเข้าไปอยู่ในสาขานั้นโดยตรงช่วยให้คุณไม่ต้องสลับสาขาในภายหลัง
การโคลนนิ่งแบบตื้น
หากคุณทำงานกับคลังข้อมูลขนาดใหญ่ที่มีประวัติยาวนานหลายปี คุณอาจไม่ต้องการดาวน์โหลดทุกอย่างทั้งหมด ด้วยตัวเลือกนี้ --depth คุณสามารถสร้างได้ การโคลนพื้นผิวที่จำกัดจำนวนคอมมิตที่ดาวน์โหลดตัวอย่างทั่วไปได้แก่:
git clone --depth 1 URL-del-repo
ตัวเลือกนี้จะแสดงเฉพาะประวัติการเปลี่ยนแปลงล่าสุด ซึ่งเพียงพอสำหรับการคอมไพล์หรือตรวจสอบสถานะปัจจุบันของโค้ด เหมาะสำหรับเครื่อง CI, สภาพแวดล้อมการทดสอบ หรือเมื่อคุณต้องการลดขนาดการดาวน์โหลดและเพิ่มความเร็วบนพีซีที่มีพื้นที่จัดเก็บจำกัดหรือการเชื่อมต่อช้า
ตัวเลือกการกำหนดค่าขั้นสูงเมื่อทำการโคลน
นอกเหนือจากการใช้งานคำสั่งgit clone ขั้นพื้นฐาน แล้ว ยังมีตัวเลือกการกำหนดค่าอีกมากมายที่ช่วยให้คุณปรับการโคลนให้เข้ากับกรณีเฉพาะเจาะจงได้มากขึ้น โดยเฉพาะอย่างยิ่งเมื่อคุณต้องการตั้งค่าเซิร์ฟเวอร์เก็บข้อมูลหรือสำเนาสำรองเพื่อการสำรองข้อมูลและการจำลองแบบ
git clone --branch (เลือกสาขาในระหว่างการโคลน)
ดังที่ได้กล่าวไปแล้ว ตัวเลือกดังกล่าว --branch (o -bวิธีนี้ช่วยให้คุณสามารถเลือกสาขาเฉพาะเป็นจุดหมายปลายทางเริ่มต้นได้ สิ่งที่น่าสนใจคือ เมื่อใช้ร่วมกับตัวเลือกอื่นๆ คุณจะสามารถ... สร้างสคริปต์การกำหนดค่าสภาพแวดล้อมแบบอัตโนมัติ ใน Windows เวอร์ชันใหม่ของคุณ: ตัวอย่างเช่น สคริปต์ที่คัดลอกสาขาต่างๆ จากแหล่งเก็บข้อมูลหลายแห่งไปยังโฟลเดอร์ที่กำหนดไว้ล่วงหน้า
ในสภาพแวดล้อมขององค์กร การมีสาขาเฉพาะสำหรับการรวมระบบ การทดสอบ หรือลูกค้าเฉพาะกลุ่มนั้นเป็นเรื่องปกติ การโคลนด้วยคำสั่ง`git clone --branch target-branch` จะช่วยให้คุณสามารถจำลองการตั้งค่าเดียวกันกับที่เพื่อนร่วมงานของคุณมีบนเครื่องของพวกเขามาไว้บนเครื่องพีซีของคุณได้ ซึ่งจะช่วยรักษาความสม่ำเสมอในสภาพแวดล้อมต่างๆ
git clone –bare และ git clone –mirror
เมื่อเราพูดถึงการโคลนการกำหนดค่าของสภาพแวดล้อม เราไม่ได้หมายถึงแค่เครื่องคอมพิวเตอร์ของคุณเท่านั้น บ่อยครั้งที่คุณต้องการตั้งค่าที่เก็บข้อมูลบนเซิร์ฟเวอร์หรือเครื่องอื่นที่ทำหน้าที่เป็นจุดศูนย์กลาง นั่นคือจุดที่ที่เก็บข้อมูล แบบเปล่า (bare repositories) และ การโคลนแบบมิเรอร์ (mirror clones ) เข้ามามี บทบาท
สร้าง repository แบบ bare ด้วยคำสั่ง git clone --bare
ที่เก็บข้อมูล เปลือย นี่คือที่เก็บข้อมูล Git ที่ไม่มีไดเร็กทอรีทำงาน กล่าวคือ มีเพียงข้อมูล Git เท่านั้น (โฟลเดอร์) .git และวัตถุของมัน) แต่ไม่ใช่สำเนาไฟล์ที่พร้อมสำหรับการแก้ไข โดยส่วนใหญ่จะใช้ใน เซิร์ฟเวอร์ Git ที่ทำหน้าที่เป็นต้นทางระยะไกล.
หากต้องการสร้างจากที่เก็บข้อมูลที่มีอยู่แล้ว คุณสามารถเรียกใช้คำสั่งต่อไปนี้:
git clone --bare ruta-o-URL-del-repo nombre-repo.git
ตามธรรมเนียมแล้ว repository แบบ bare มักจะมีนามสกุล.git ต่อท้ายชื่อโฟลเดอร์ทำให้เหมาะสำหรับการโฮสต์บนเซิร์ฟเวอร์ที่ผู้ใช้รายอื่นสามารถเข้าถึงได้ผ่าน SSH หรือโปรโตคอลที่คล้ายกัน และสามารถพุชและดึงข้อมูลการเปลี่ยนแปลงได้เช่นเดียวกับ GitHub หรือ Bitbucket
สร้างสำเนาโคลนด้วยคำสั่ง git clone --mirror
โหมด --mirror มันก้าวไปอีกขั้นหนึ่งกว่านั้น --bareเมื่อใช้งาน Git จะสร้าง repository โดยไม่มี workspace แต่ก็ยังสร้าง repository อื่นๆ อีกด้วย ระบบจะเก็บสำเนาที่ถูกต้องของข้อมูลอ้างอิงระยะไกลทั้งหมด (รวมถึงสาขา แท็ก และการอ้างอิงพิเศษต่างๆ) กล่าวอีกนัยหนึ่ง ที่เก็บข้อมูลในเครื่องจะกลายเป็นภาพสะท้อนที่ถูกต้องของที่เก็บข้อมูลระยะไกล
โคลนที่มี git clone –mirror เหมาะอย่างยิ่งสำหรับการสำรองข้อมูลหรือการย้ายข้อมูล เพราะเมื่อคุณอัปเดตมิเรอร์นี้ด้วย git remote updateการเปลี่ยนแปลงทั้งหมดจะถูกซิงโครไนซ์ หากคุณกำลังออกแบบโครงสร้างพื้นฐานใหม่ คุณสามารถใช้ฟังก์ชันนี้เพื่อย้ายที่เก็บข้อมูลระหว่างเซิร์ฟเวอร์ หรือเพื่อดูแลสำเนาภายในของที่เก็บข้อมูลที่โฮสต์อยู่บนแพลตฟอร์มภายนอกได้
ตัวเลือกที่มีประโยชน์อื่นๆ ในการโคลนนิ่ง
นอกเหนือจากตัวเลือกที่กล่าวมาข้างต้นแล้ว Git ยังมีเครื่องมือขนาดเล็กที่ช่วยให้คุณปรับแต่งที่เก็บข้อมูลได้ตามต้องการเมื่อตั้งค่าสภาพแวดล้อม Windows ตั้งแต่เริ่มต้นหนึ่งในเครื่องมือที่น่าสนใจที่สุดคือตัวเลือกเทมเพลต
การใช้เทมเพลตด้วยคำสั่ง git clone --template
พารามิเตอร์ --template วิธีนี้ช่วยให้คุณระบุไดเร็กทอรีแม่แบบที่ Git จะใช้เป็นฐานเมื่อสร้างที่เก็บข้อมูลในเครื่อง คุณสามารถบันทึกโค้ดในไดเร็กทอรีเหล่านี้ได้ ฮุกที่กำหนดไว้ล่วงหน้า การตั้งค่าเริ่มต้น หรือไฟล์ภายใน ที่คุณต้องการนำไปใช้กับทุกโครงการใหม่ของคุณ
ตัวอย่างเช่น หากระบบเก่าของคุณมีสคริปต์สำหรับตรวจสอบข้อความคอมมิต จัดรูปแบบโค้ด หรือรันการทดสอบก่อนพุช คุณสามารถบันทึกสคริปต์เหล่านั้นไว้ในโฟลเดอร์เทมเพลต แล้วคัดลอกโดยใช้คำสั่งต่อไปนี้:
git clone --template=C:\PlantillasGit URL-del-repo
ดังนั้น ที่เก็บข้อมูลแต่ละแห่งที่คุณโคลนบน Windows เครื่องใหม่ของคุณจะสืบทอดการกำหนดค่าภายในแบบเดียวกันช่วยให้คุณรักษาความสม่ำเสมอในทุกโครงการและจำลองประสบการณ์ที่คุณเคยได้รับบนระบบปฏิบัติการอื่นๆ
ประเภท URL ของ Git และโปรโตคอลที่ใช้งานได้
เมื่อทำการโคลนหรือกำหนดค่ารีโมต Git รองรับ URL และโปรโตคอลหลายประเภท การเลือกใช้โปรโตคอลใดโปรโตคอลหนึ่งจะส่งผลต่อทั้งความปลอดภัยและความสะดวกในการใช้งานเมื่อทำงานบน Windows โปรโตคอล ที่ใช้กันทั่วไป ได้แก่ SSH, โปรโตคอล ของ Gitและ HTTP/HTTPS
โปรโตคอล URL ของ Git
แต่ละโปรโตคอลมีคุณสมบัติและกรณีการใช้งานเฉพาะของตนเอง สิ่งสำคัญคือต้องเข้าใจจุดแข็งของแต่ละโปรโตคอลเพื่อตัดสินใจว่าโปรโตคอลใดเหมาะสมกับสภาพแวดล้อมของคุณมากที่สุด และคุณต้องการโคลนที่เก็บข้อมูลและใช้งานมันอย่างไรในชีวิตประจำวัน
SSH
โปรโตคอล SSH เป็นที่นิยมในหมู่นักพัฒนาหลายคน เพราะช่วยให้สามารถตรวจสอบสิทธิ์ด้วยคีย์ได้ ทำให้ไม่จำเป็นต้องพิมพ์ชื่อผู้ใช้และรหัสผ่านทุกครั้งบน Windows การใช้งานจึงคล้ายคลึงกับการใช้งานบน macOS หรือ Linux มาก เนื่องจากมีการรองรับ OpenSSH ในเวอร์ชันใหม่ๆ และเครื่องมือต่างๆ เช่น Git Bash
โดยทั่วไป URL ของ SSH จะมีรูปแบบดังนี้: [email protected]:usuario/repositorio.gitเมื่อคุณสร้างคีย์ของคุณแล้ว (ด้วย ssh-keygen) และอัปโหลดคีย์สาธารณะไปยังบัญชี GitHub หรือ Bitbucket ของคุณ คุณก็สามารถทำได้ โคลน ผลัก และดึงโดยไม่มีแรงเสียดทานโดยมีเงื่อนไขว่าเอเจนต์ SSH ต้องมีการโหลดคีย์ไว้แล้ว นี่เป็นตัวเลือกที่สอดคล้องกับขั้นตอนการทำงานแบบดั้งเดิมที่หลายคนใช้บนเครื่อง Mac มากที่สุด
โปรโตคอล Git
โปรโตคอล git:// นี่คือโปรโตคอลของ Git ที่โดยทั่วไปแล้วจะให้สิทธิ์การเข้าถึงแบบอ่านอย่างเดียว มันเร็วมาก แต่... มันไม่ได้เข้ารหัสข้อมูลหรือจัดการการตรวจสอบสิทธิ์ ด้วยเหตุนี้จึงมีการใช้งานน้อยลงเรื่อยๆ ในสถานการณ์ที่ความปลอดภัยเป็นสิ่งสำคัญ
ในสภาพแวดล้อมสมัยใหม่ที่มีที่เก็บข้อมูลส่วนตัวและความจำเป็นในการควบคุมการเข้าถึง มักจะนิยมใช้ SSH หรือ HTTPS มากกว่า โปรโตคอล Git นั้น สงวนไว้สำหรับที่เก็บข้อมูลสาธารณะบางแห่ง ซึ่งคุณเพียงแค่ต้องการอ่านเนื้อหาโดยไม่ต้องเขียนหรือยืนยันตัวตน
HTTP / HTTPS
HTTPS กลายเป็นตัวเลือกมาตรฐานในหลายบริษัท เนื่องจากใช้งานได้ดีแม้ในระบบพร็อกซีและไฟร์วอลล์และสามารถทำงานร่วมกับระบบตรวจสอบสิทธิ์แบบรวมศูนย์หรือโทเค็น ส่วนบุคคล ได้ นอกจากนี้ บนระบบ Windows ตัวจัดการข้อมูลรับรองของ Git ยังช่วยให้คุณจัดเก็บโทเค็นหรือชื่อผู้ใช้/รหัสผ่านได้อย่างปลอดภัยอีกด้วย
URL ประเภทนี้โดยทั่วไปจะมีลักษณะดังนี้ https://github.com/usuario/repositorio.gitหากคุณกังวลเรื่องความปลอดภัยเป็นพิเศษ คุณควรตรวจสอบให้แน่ใจเสมอว่าได้ใช้ HTTPS และไม่ใช่ HTTP ในรูปแบบข้อความธรรมดาและหากคุณกำลังใช้งานผ่าน SSH คุณสามารถสลับระหว่างทั้งสองวิธีได้โดยการแก้ไข URL ระยะไกลด้วย git remote set-url origin nueva-url.
การโคลน repository จาก GitHub และ Bitbucket บน Windows
เมื่อคุณเชี่ยวชาญคำสั่งและขั้นตอนต่างๆ แล้ว ก็ถึงเวลาที่จะมาดูสถานการณ์จริงที่พบได้บ่อยที่สุด นั่นคือการย้ายคลังเก็บข้อมูลส่วนตัวของคุณจาก GitHub หรือ Bitbucket ไปยังพีซี Windows เครื่องใหม่ของคุณและใช้งานมันตามปกติ
บน GitHub กระบวนการแบบดั้งเดิมในเว็บอินเทอร์เฟซนั้นง่ายมาก: คุณเข้าถึงหน้าหลักของที่เก็บข้อมูล คลิกปุ่มโคลน และเลือก HTTPS หรือ SSH แล้วคัดลอก URL ที่สร้างขึ้น จากนั้น เปิดเทอร์มินัลใน Windows ไปยังโฟลเดอร์ที่ทำงานอยู่ แล้วเรียกใช้คำสั่ง git clone URL-copiadaรูปแบบเดียวกันนี้สามารถนำไปใช้กับ Bitbucket และแพลตฟอร์มอื่นๆ ที่คล้ายกันได้เกือบจะเหมือนกันทุกประการ
หากคุณใช้เครื่องมือที่มีอินเทอร์เฟซแบบกราฟิก เช่น GitHub Desktop คุณสามารถไปที่ ตัวเลือก Clone Repositoryเลือก repository จากรายการของคุณหรือวาง URL เลือกเส้นทางในเครื่อง และคลิกCloneจากนั้น GitHub Desktop จะดาวน์โหลดเนื้อหาและเชื่อมโยงกับบัญชีของคุณ ทำให้กระบวนการง่ายขึ้นสำหรับผู้ที่ต้องการหลีกเลี่ยงการใช้บรรทัดคำสั่ง
สิ่งสำคัญคือต้องเข้าใจว่าการโคลนที่เก็บข้อมูลจากแพลตฟอร์มเหล่านี้หมายถึงการนำสำเนาข้อมูลทั้งหมดที่จัดเก็บอยู่บนเซิร์ฟเวอร์มายังเครื่องของคุณอย่างสมบูรณ์ ไม่ว่าจะเป็นไฟล์ ประวัติการเปลี่ยนแปลง สาขา แท็ก ฯลฯ หลังจากนั้น คุณสามารถพุชการเปลี่ยนแปลงของคุณกลับไป หรือรับการเปลี่ยนแปลงจากผู้ร่วมงานคนอื่นๆ ได้ตามปกติ
ข้อผิดพลาดในการโคลนมักเกี่ยวข้องกับสิทธิ์ที่ไม่เพียงพอหรือปัญหาการตรวจสอบสิทธิ์ตรวจสอบให้แน่ใจเสมอว่าผู้ใช้ของคุณมีสิทธิ์อ่านในที่เก็บข้อมูล ว่าคีย์ SSH ของคุณเชื่อมโยงกับบัญชีของคุณอย่างถูกต้อง (หากคุณใช้ SSH) และว่าโทเค็นหรือข้อมูลรับรอง HTTPS ของคุณถูกต้องและมีสิทธิ์ที่เหมาะสม
การใช้ที่เก็บข้อมูลว่างเปล่าและเซิร์ฟเวอร์ Git
อีกส่วนสำคัญของการจำลองสภาพแวดล้อมของคุณคือวิธีการตั้งค่าที่เก็บข้อมูลใหม่บนเซิร์ฟเวอร์หรือเครื่องอื่น ที่ทำหน้าที่เป็นแหล่งข้อมูลส่วนกลาง ในกรณีเหล่านี้ ที่เก็บข้อมูล แบบเปล่า (bare repositories) คือเครื่องมือสำคัญ
การสร้างและเผยแพร่คลังเก็บข้อมูลว่างเปล่า
ในการตั้งค่าเซิร์ฟเวอร์ Git ครั้งแรก วิธีการทั่วไปคือการเริ่มต้นด้วย... และส่งออกที่เก็บข้อมูลที่มีอยู่ไปยังที่เก็บข้อมูลว่างเปล่าดังที่ได้กล่าวไปแล้ว สิ่งนี้จะสำเร็จได้ด้วย git clone --bareไดเร็กทอรีที่ได้มักจะลงท้ายด้วย .gitสามารถติดตั้งบนเซิร์ฟเวอร์ที่สามารถเข้าถึงได้ผ่าน SSH หรือโปรโตคอลอื่น ๆ ที่คุณได้กำหนดค่าไว้
แม้ว่าจะมีข้อแตกต่างเล็กน้อยภายในไฟล์การกำหนดค่าเมื่อเทียบกับที่เก็บข้อมูลที่มีไดเร็กทอรีการทำงาน แต่สำหรับการใช้งานประจำวัน ผลลัพธ์ก็แทบจะเหมือนกัน: จุดศูนย์กลางที่นักพัฒนาใช้ในการพุชและดึงข้อมูลหากคุณต้องการจำลองเซิร์ฟเวอร์ Git บน Windows ที่คุณเคยมีบนเครื่องอื่น รูปแบบปกติคือการโคลนในโหมด bare และเปิดเผยที่เก็บข้อมูลนั้นโดยใช้โปรโตคอลที่คุณต้องการ
เมื่อสร้าง repository ว่างเปล่าบนเซิร์ฟเวอร์แล้ว นักพัฒนาทุกคน (รวมถึงพีซี Windows ของคุณ) สามารถ clone จากที่นั่นและทำงานได้ตามปกติ นี่เป็นส่วนหนึ่งของกลยุทธ์โดยรวมในการซิงโครไนซ์สภาพแวดล้อมระหว่างคอมพิวเตอร์และระบบปฏิบัติการต่างๆ
ผลกระทบของการโคลนการตั้งค่าของคุณต่อการทำงานร่วมกันและขั้นตอนการทำงาน
ความพยายามทั้งหมดนี้ในการโคลน repository ปรับแต่งการตรวจสอบสิทธิ์ และใช้ตัวเลือก Git ขั้นสูง มีเป้าหมายที่ชัดเจนเพียงอย่างเดียวคือเพื่อรักษากระบวนการทำงานที่ราบรื่นและสม่ำเสมอทั้งในระดับบุคคลและระดับทีม ไม่ว่าคุณจะใช้งานบน Windows, macOS หรือ Linux ก็ตาม
การทำงานร่วมกันในโครงการโอเพนซอร์สและโครงการส่วนตัว
การโคลนสภาพแวดล้อมของคุณสำเร็จหมายความว่าคุณสามารถมีส่วนร่วมในโครงการโอเพนซอร์สหรือโครงการภายในต่อไปได้โดยไม่ต้องเปลี่ยนแปลงขั้นตอนการทำงานอย่างมาก คุณสามารถฟอร์กรีโพซิโทรี โคลนฟอร์กของคุณ สร้างฟีเจอร์แบรนช์ คอมมิต และส่งพูลหรือเมจรีโพซิโทรีไปยังรีโพซิโทรีหลักได้เหมือนเดิม
หัวใจสำคัญคือ โคลนแต่ละตัวบนพีซี Windows ของคุณนั้นเป็นที่เก็บ Git ที่ใช้งานได้อย่างสมบูรณ์ ซึ่งบรรจุประวัติของโปรเจ็กต์ทั้งหมดไว้ สิ่งนี้ช่วยให้คุณสามารถทดลอง ทดสอบการเปลี่ยนแปลงที่มีความเสี่ยง และย้อนกลับได้หากมีสิ่งผิดปกติเกิดขึ้น โดยไม่กระทบต่อโค้ดบนเครื่องระยะไกลจนกว่าคุณจะตัดสินใจพุชการเปลี่ยนแปลงของคุณ
การควบคุมเวอร์ชันและการจัดการประวัติ
การโคลนนิ่งยังให้ประวัติเวอร์ชันที่สมบูรณ์ไม่ใช่แค่สถานะปัจจุบันของโค้ดเท่านั้น ทำให้คุณสามารถเรียกดูการเปลี่ยนแปลงเก่าๆ ตรวจสอบว่ามีการเปลี่ยนแปลงเกิดขึ้นเมื่อใดและเพราะเหตุใด หรือแม้แต่สร้างสาขาโดยอิงจากเวอร์ชันก่อนหน้าเพื่อแก้ไขข้อบกพร่องเฉพาะจุดได้
การสร้างสภาพแวดล้อมที่จำลองแบบมาอย่างดีบนระบบ Windows ของคุณ จะช่วยให้การดูแลรักษา สำเนาของเวอร์ชันต่างๆ ของโปรเจกต์เดียวกันทำได้ง่ายไม่ว่าจะเป็นผ่านทางสาขา แท็ก หรือที่เก็บข้อมูลจำลองในโฟลเดอร์แยกต่างหาก ซึ่งมีประโยชน์อย่างยิ่งสำหรับโปรเจกต์ระยะยาวที่เกี่ยวข้องกับการบำรุงรักษาและการพัฒนาคุณสมบัติใหม่ๆ
การทดลองและการพัฒนาฟีเจอร์ใหม่อย่างปลอดภัย
สุดท้ายแล้ว การโคลนคลังเก็บข้อมูลมีจุดประสงค์พื้นฐานอย่างหนึ่ง นั่นคือการทดสอบสิ่งต่างๆ โดยไม่ต้องกังวลคุณสามารถสร้างสำเนาเพิ่มเติมของคลังเก็บข้อมูลเดียวกันบนเครื่องของคุณได้ โดยจัดสรรสำเนาหนึ่งไว้สำหรับการทดลองใช้เทคโนโลยีใหม่ๆ หรือการปรับปรุงโครงสร้างครั้งใหญ่ และดูแลรักษาอีกสำเนาหนึ่งที่เสถียรกว่าสำหรับงานประจำวัน
เนื่องจากระบบ Windows ใหม่ของคุณมีฐานที่เก็บข้อมูลเดียวกันกับสภาพแวดล้อมเดิม คุณจึงสามารถกลับมาทำงานต่อจากจุดที่คุณหยุดไว้ และทดลองไอเดียใหม่ๆ สาขา และเครื่องมือต่างๆ ต่อไปได้ โดยรู้ว่าGit อนุญาตให้คุณย้อนกลับหรือยกเลิกสิ่งที่ไม่ทำงานได้อย่างง่ายดาย
เมื่อพิจารณาจากสิ่งที่กล่าวมาทั้งหมด การมีชุดที่เก็บข้อมูล (repository) ที่คัดลอกมาจากแหล่งข้อมูลระยะไกลของคุณ โดยมีการตรวจสอบสิทธิ์และกำหนดค่าอย่างถูกต้อง บนระบบ Windows จึงเป็นวิธีที่มีประสิทธิภาพมากในการรักษาประสิทธิภาพการทำงานและขั้นตอนการทำงานของคุณแม้ว่าคุณจะเปลี่ยนคอมพิวเตอร์หรือระบบปฏิบัติการก็ตาม คุณเพียงแค่ต้องเข้าใจอย่างชัดเจนว่าจะคัดลอกอะไร วิธีการตรวจสอบสิทธิ์ และตัวเลือก Git ใดที่จะช่วยให้คุณปรับแต่งแต่ละสำเนาให้ตรงกับความต้องการของคุณในแต่ละช่วงเวลา
