Dotfiles บน GitHub: 3 เหตุผลที่ไม่ควรเสียเวลา ⏳🔥
สรุป
- การจัดการ dotfiles ด้วย Git ช่วยคุณประหยัดเวลาและให้ตัวเลือกการสำรองข้อมูลที่แข็งแกร่ง
- การจัดเก็บ dotfile ในระบบควบคุมเวอร์ชัน (VCS) เช่น git ช่วยให้แน่ใจถึงการกำหนดค่าที่สอดคล้องกันระหว่างเครื่องต่างๆ หลายเครื่อง
- การใช้ GitHub เพื่อโฮสต์ dotfiles ของคุณทำให้การแชร์และการทำงานร่วมกันเป็นเรื่องง่าย
Dotfiles เป็นวิธีที่เข้าถึงได้และทรงพลังในการกำหนดค่าระบบ Linux ของคุณ แต่คุณจะติดตามทุกสิ่งได้อย่างไรและนำกลับมาใช้ใหม่เมื่อคุณต้องการ? ลองใช้ git ดูสิ
Dotfiles คืออะไร?
ใน Linux ไฟล์ใดๆ ก็ตามที่มีชื่อเริ่มต้นด้วย “.” มันเป็นไฟล์ที่ซ่อนอยู่ โดยค่าเริ่มต้นจะไม่ปรากฏในตัวจัดการไฟล์ของคุณหรือในรายการคำสั่งในเทอร์มินัล
โปรแกรม Linux บางตัวใช้ไฟล์ที่ซ่อนอยู่ในการกำหนดค่า โดยมักจะวางไว้ในไดเร็กทอรีโฮมของคุณ การตั้งค่านี้มีประโยชน์เพราะช่วยให้การตั้งค่าต่างๆ ไม่เกะกะและยังสามารถเข้าถึงการตั้งค่าต่างๆ ได้ เนื่องจากการตั้งค่าเหล่านี้อยู่ในไฟล์ข้อความธรรมดา จึงสามารถอ่านและแก้ไขได้ง่าย นอกจากนี้ คุณยังสามารถใช้เครื่องมือบรรทัดคำสั่งของ Linux เพื่อทำงานกับการตั้งค่าระบบของคุณได้
ตัวอย่างทั่วไปของ dotfile ได้แก่:
- .bashrc, .zshrc
- .รายละเอียด
- .gitconfig
- .npmrc
Git หรือ GitHub ช่วยคุณได้อย่างไร?
Dotfiles นั้นดี แต่ขึ้นอยู่กับระบบ เมื่อคุณจำเป็นต้องเปลี่ยนคอมพิวเตอร์ ใช้เครื่องมือรอง หรือเข้าถึงเซิร์ฟเวอร์ระยะไกล คุณอาจพบว่าคุณต้องตั้งค่าทุกอย่างใหม่อีกครั้ง
การจัดเก็บ dotfile ของคุณใน VCS (Version Control System) ช่วยให้คุณหลีกเลี่ยงงานซ้ำซากนี้ได้ ทำให้คุณสามารถนำการกำหนดค่าของคุณกลับมาใช้บนเครื่องอื่นได้ทันที เพียงโคลนที่เก็บข้อมูลของคุณ แล้วคุณจะได้นามแฝงเชลล์แบบเดียวกัน ธีมที่คุ้นเคย และพฤติกรรมที่สอดคล้องกัน
นอกจากนี้ การจัดเก็บ dotfile ใน git ถือเป็นตัวเลือกการสำรองข้อมูลที่แข็งแกร่ง คุณสามารถตรวจสอบประวัติที่เก็บข้อมูลของคุณเพื่อหาว่าคุณเปลี่ยนการตั้งค่าเฉพาะเมื่อใดและเพราะเหตุใด ในสภาพแวดล้อมการทำงานร่วมกัน คุณยังสามารถแชร์ dotfile ของคุณผ่าน Git เพื่อให้แน่ใจว่าทุกคนในทีมมีสภาพแวดล้อมที่สอดคล้องกัน
ในเรื่องนี้ GitHub ถือเป็นที่สุดของที่สุด หากคุณมีที่อื่นสำหรับโฮสต์ที่เก็บข้อมูล Git คุณก็สามารถทำได้อย่างแน่นอน แต่ GitHub ทำให้มันง่ายกว่ามาก
วิธีที่ดีที่สุดในการจัดการ Dotfiles ของคุณด้วย Git และ GitHub
ประการแรก คุณต้องเข้าใจว่าวิธีการใดๆ ในการจัดเก็บ dotfile ใน git นั้นมีข้อได้เปรียบอย่างมาก มีรายละเอียดที่เฉพาะเจาะจงเกี่ยวกับวิธีการดำเนินการนี้ แต่ถ้าคุณสามารถจัดเก็บไฟล์ใน Git อัปเดตและดึงข้อมูลได้ คุณจะได้รับประโยชน์อย่างมากจากการจัดการ dotfile ของคุณด้วยวิธีนี้
อย่างไรก็ตาม แนวทางต่อไปนี้ได้รับการแนะนำอย่างกว้างขวางทางออนไลน์และได้ผลสำหรับฉัน การตั้งค่าแบบนี้ควรช่วยให้คุณจัดการทุกอย่างให้ซิงโครไนซ์โดยใช้ความพยายามที่น้อยที่สุด
ตั้งค่าที่เก็บข้อมูลพื้นฐานและโครงสร้างบางอย่าง
เนื่องจากไดเร็กทอรีโฮมของคุณอาจมีสิ่งต่างๆ มากมายที่คุณไม่ต้องการอยู่ในที่เก็บ dotfiles ดังนั้นจึงควรหลีกเลี่ยงการตั้งค่ามาตรฐาน แต่คุณสามารถจัดการ dotfiles ของคุณในที่เก็บข้อมูลพื้นฐานได้
ที่เก็บพื้นฐานจะเหมือนที่เก็บทั่วไป แต่ไม่มีไฟล์โปรเจ็กต์ มีข้อมูลเมตาของ git ทั้งหมดที่อธิบายประวัติของไฟล์เหล่านั้น เพียงแต่ไม่มีไฟล์นั้นเอง ไฟล์สามารถอยู่ในที่อื่น ในไดเร็กทอรีการทำงานของคุณ และคุณจะใช้ที่เก็บข้อมูลฐานเพื่อควบคุมไฟล์เหล่านั้นเท่านั้น
เริ่มต้นด้วยการสร้างที่เก็บข้อมูลพื้นฐานในตำแหน่งใหม่ ตัวอย่างเช่น:
ไดเรกทอรี $HOME/.dotfiles git init --bare $HOME/.ไฟล์จุด
เมื่อทำงานกับที่เก็บนี้ คุณจะต้องจัดเตรียมไดเร็กทอรีการทำงาน (สำหรับไฟล์) และไดเร็กทอรี git (สำหรับที่เก็บนั้นเอง):
git --work-tree=$HOME --ไดเรกทอรี git=$HOME/.ไฟล์ dot ...
แทนที่จะพิมพ์สิ่งนี้ทุกครั้งที่คุณใช้ Git ควรตั้งค่านามแฝงจะดีกว่า คุณสามารถระบุเส้นทางไปยังที่เก็บข้อมูลฐานได้ เพื่อให้คุณสามารถใช้งานได้จากไดเร็กทอรีใดก็ได้:
นามแฝง ดอทไฟล์="/usr/bin/git --git-dir=$HOME/.dotfiles --ต้นไม้ทำงาน=$HOME"
จัดเก็บไฟล์ Dotfile ของคุณ
เริ่มต้นด้วยการระบุ dotfile ที่คุณต้องการควบคุมเวอร์ชัน
จากนั้นคุณสามารถรันคำสั่งเหล่านี้เพื่อเริ่มต้น ควบคุมไฟล์ของคุณ .bashrc เช่น:
ซีดี $HOME
dotfiles เพิ่ม .bashrc dotfiles commit -m "ไฟล์ควบคุมการดำเนินการ Bash"
นอกเหนือจากการใช้ชื่อแทน dotfiles แทนคำสั่ง git ปกติแล้ว คุณยังสามารถใช้ git เพื่อติดตามไฟล์เหล่านี้ได้ตามปกติ วิธีนี้จริงๆ แล้วง่ายกว่าเล็กน้อย เพราะคุณสามารถรันคำสั่ง เช่น “dotfiles log” จากไดเร็กทอรีใดๆ ก็ได้
อัปโหลดที่เก็บข้อมูลของคุณไปยัง GitHub
คุณอาจพบว่าสะดวกกว่าในการโฮสต์ที่เก็บข้อมูลของคุณบนผู้ให้บริการเช่น GitHub ทำให้การแชร์การเข้าถึง dotfile ของคุณเป็นเรื่องง่าย โดยเฉพาะจากเครื่องที่อยู่ในเครือข่ายอื่น ทำได้ง่ายแม้จะมีที่เก็บข้อมูลอยู่แล้ว:
- มันเริ่มต้นใน สร้างหน้าคลังข้อมูลใหม่.
- ป้อนชื่อสำหรับที่เก็บข้อมูล
- เลือกได้ระหว่างที่เก็บข้อมูลสาธารณะหรือส่วนตัว ส่วนตัวอาจจะดีที่สุด (ดูด้านล่าง)
- คลิกสร้างที่เก็บข้อมูล
เมื่อถึงจุดนี้ คุณจะเห็นหน้าจอพร้อมคำแนะนำการตั้งค่า หากต้องการอัปโหลดที่เก็บข้อมูลที่มีอยู่ของคุณ เพียงรันคำสั่งสองคำสั่งนี้:
dotfiles เพิ่มจุดกำเนิดจากระยะไกล https://github.com//.git dotfiles push -u จุดกำเนิดหลัก
ชื่อผู้ใช้ GitHub ของคุณคืออะไร และเป็นชื่อที่คุณเลือกให้กับที่เก็บข้อมูลของคุณ
ควรระมัดระวังเป็นพิเศษเมื่ออัปโหลดที่เก็บข้อมูลของคุณไปยัง GitHub: dotfile ของคุณอาจมีข้อมูลที่ละเอียดอ่อน ในทางที่ดี คุณควรหลีกเลี่ยงการเจาะไฟล์ซึ่งประกอบด้วยรหัสผ่านไปยังที่เก็บข้อมูลใดๆ หากคุณไม่สามารถหลีกเลี่ยงได้ อย่างน้อยก็ควรพิจารณาใช้ที่เก็บข้อมูล GitHub ส่วนตัว อย่างไรก็ตามคุณจะต้องจ่ายเงินสำหรับสิ่งนี้
การใช้งานบนระบบอื่น
หากต้องการแชร์ dotfile ของคุณบนเครื่องอื่น คุณจะต้องทำซ้ำขั้นตอนข้างต้นและโคลนที่เก็บข้อมูลฐานข้อมูล โดยเฉพาะอย่างยิ่ง นี้หมายความว่ามีขั้นตอนสำคัญสองขั้นตอน ขั้นแรก โคลนสำเนาพื้นฐานของที่เก็บข้อมูลของคุณ:
ซีดี $HOME
กิตติ โคลน --เปล่า https://github.com//.git
โดยปกติแล้วสิ่งนี้จะถูกโคลนลงในไดเร็กทอรีที่เรียกว่า .git เมื่อโคลนแล้ว คุณสามารถเปลี่ยนชื่อมันได้
สร้างนามแฝงที่คุณใช้สำหรับ git ใหม่:
นามแฝง ดอทไฟล์="/usr/bin/git --git-dir=$HOME/.dotfiles --ต้นไม้ทำงาน=$HOME"
ตอนนี้คุณสามารถเติมไดเร็กทอรีการทำงานของคุณ—HOME—ด้วย dotfiles ที่ควบคุมเวอร์ชันของคุณ:
เช็คเอาท์ dotfiles
ณ จุดนี้ คุณอาจเห็นข้อผิดพลาดเกี่ยวกับการเขียนทับไฟล์เวิร์คทรี เนื่องจากคุณอาจมี dotfile เก่าหรือไฟล์เริ่มต้น เช่น .bashrc อยู่แล้ว เพียงลบหรือย้ายไฟล์เหล่านี้แล้วชำระเงินอีกครั้ง
การติดตามเวอร์ชัน dotfile ของคุณจะช่วยให้คุณหลีกเลี่ยงปัญหาต่างๆ เมื่อทำการอัปเกรดหรือเปลี่ยนระบบ คุณจะสามารถตรวจสอบประวัติทั้งหมดและดูว่าคุณเปลี่ยนแปลงอะไรเมื่อใดและเพราะเหตุใด