วิธีซิงค์ไฟล์ระหว่างสถานที่ด้วย git-annex

ภาพ: iStock / chombosan

คุณรู้จัก Git คุณรู้จัก GitHub และเครื่องมืออื่น ๆ ที่เกี่ยวข้องกับคอมไพล์ แต่คุณรู้หรือไม่ว่า git-annex

ด้วย git-annex คุณสามารถสร้างที่เก็บข้อมูลบนเครื่องโลคัล (หนึ่งในนั้นคือสามารถแบ่งปัน Dropbox ที่ติดตั้งในเครื่อง) แล้วเก็บไฟล์ไว้ในซิงค์ ไม่ใช่วิธีที่ง่ายที่สุดในการทำเช่นนี้ แต่เป็นวิธีที่มีศักยภาพที่ดีพอสมควร ดียิ่งขึ้นซึ่งแตกต่างจาก git มาตรฐาน git-annex ช่วยให้คุณสามารถซิงค์ไฟล์ขนาดใหญ่

ฉันต้องการแนะนำคุณเกี่ยวกับขั้นตอนการติดตั้งและใช้ git-annex เพื่อซิงค์สองตำแหน่ง มีสองวิธีในการทำสิ่งนี้: ด้วยเครื่องมือ GUI และจากบรรทัดคำสั่ง ฉันจะสาธิตรุ่นของบรรทัดคำสั่งที่นี่ (ฉันจะสาธิตวิธี GUI ในอนาคตวิธีการ) ฉันจะสาธิตบน Ubuntu Server 18.04 และจะซิงค์โฟลเดอร์ Dropbox ที่ติดตั้งในเครื่องกับโฟลเดอร์ในเครื่องบนเซิร์ฟเวอร์

เพิ่มเติมเกี่ยวกับโอเพ่นซอร์ส

  • 8 ของนวัตกรรมโอเพ่นซอร์สที่เลวร้ายที่สุดของทศวรรษ
  • โอเพ่นซอร์สในปี 2020: อนาคตดูสดใส
  • Linus Torvalds: "Git พิสูจน์แล้วว่าฉันน่าจะเป็นมากกว่าความมหัศจรรย์ครั้งเดียว"
  • 20 เคล็ดลับอย่างรวดเร็วเพื่อให้เครือข่าย Linux ง่ายขึ้น (PDF ฟรี)

ด้วยที่กล่าวว่าเรามาทำงานกันเถอะ

การติดตั้ง

คุณสามารถติดตั้ง git-annex ด้วยคำสั่งเดียว อย่างไรก็ตามคุณต้องแน่ใจก่อนว่าคุณได้ติดตั้งคอมไพล์ในเครื่อง ดังนั้นหากต้องการติดตั้งทั้งคู่ให้เปิดเทอร์มินัลแล้วออกคำสั่งต่อไปนี้:

 sudo apt ติดตั้ง git git-annex 

การติดตั้ง git-annex จะดึงการอ้างอิง 325 รายการ (ขึ้นอยู่กับสิ่งที่คุณได้ติดตั้งไว้ในเครื่องของคุณ) ดังนั้นอาจใช้เวลาสักครู่ (ขึ้นอยู่กับความเร็วของเครือข่ายของคุณ) เมื่อการติดตั้งเสร็จสิ้นคุณก็พร้อมที่จะไป

ดู: 20 คำแนะนำสั้น ๆ เพื่อให้ระบบเครือข่าย Linux ง่ายขึ้น (ฟรี TechRepublic PDF)

การสร้างที่เก็บ

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

 mkdir ~ / myrepo 

เปลี่ยนเป็นโฟลเดอร์ใหม่นั้นด้วยคำสั่ง cd ~ / myrepo ต่อไปเราจะต้องเริ่มต้นพื้นที่เก็บข้อมูลด้วยคำสั่ง:

 git init 

ตอนนี้เราเริ่มต้นพื้นที่เก็บข้อมูลด้วย git-annex เฉพาะเมื่อมีการเพิ่มชื่อ ฉันจะตั้งชื่อ UbuntuServer นี้ดังนั้นคำสั่งเริ่มต้นจะเป็น:

 git annex init "UbuntuServer" 

ต่อไปเราจะย้ายไฟล์บางไฟล์ไปที่ ~ / myrepo สำหรับการทดสอบคุณสามารถสร้างไฟล์เปล่าด้วยคำสั่ง touch test1 เมื่อคุณสร้างไฟล์ทดสอบแล้วให้เพิ่มไฟล์ด้วย git annex โดยใช้คำสั่ง:

 git ภาคผนวกเพิ่ม test1 

เนื่องจากเราใช้คอมไพล์คุณต้องคอมมิทไฟล์ใหม่ (มิฉะนั้นคอมไพล์จะไม่รู้) สำหรับสิ่งนี้ออกคำสั่ง:

 git กระทำ -m "เพิ่มไฟล์ทดสอบ" 

การเพิ่มตำแหน่งที่สอง

เรามีโฟลเดอร์ ~ / Dropbox ของเราอยู่แล้วดังนั้นเปลี่ยนเป็นโฟลเดอร์นั้นด้วยคำสั่ง cd ~ / Dropbox เนื่องจากโฟลเดอร์นี้จะต้องเริ่มต้นเราอาจไม่ต้องการเริ่มต้นเนื้อหาทั้งหมดของโฟลเดอร์ ~ / Dropbox ดังนั้นให้สร้างโฟลเดอร์ย่อยที่เรียกว่าภาคผนวกด้วยคำสั่ง:

 ภาคผนวก mkdir 

เปลี่ยนเป็นโฟลเดอร์ใหม่ด้วยคำสั่ง cd annex เริ่มต้นโฟลเดอร์ด้วยคำสั่ง:

 git init 

เริ่มต้นโฟลเดอร์ด้วย git-annex (และตั้งชื่อ Dropbox) ด้วยคำสั่ง:

 git annex init "Dropbox" 

ทำให้พวกเขาตระหนักถึง

สำหรับเคล็ดลับต่อไปของเราเราต้องทำให้ทั้งสองสถานที่รับรู้กัน หากต้องการทำสิ่งนี้ให้เปลี่ยนเป็นโฟลเดอร์ ~ / myrepo จากนั้นทำให้ตระหนักถึง Dropbox ด้วยคำสั่ง:

 คอมไพล์ระยะไกลเพิ่ม Dropbox ~ / Dropbox / ภาคผนวก 

ถัดไปเปลี่ยนเป็นโฟลเดอร์ ~ / Dropbox / annex และทำให้ตระหนักถึงโฟลเดอร์ ~ / myrepo ด้วยคำสั่ง:

 git remote เพิ่ม UbuntuServer ~ / myrepo 

ซิงค์

เมื่อสถานที่แต่ละแห่งทราบถึงสถานที่อื่นแล้วให้ซิงค์กัน เปลี่ยนเป็นโฟลเดอร์ ~ / myrepo และออกคำสั่ง:

 คอมไพล์ซิงค์คอมไพล์ 

ตอนนี้เปลี่ยนเป็นโฟลเดอร์ ~ / Dropbox / annex และออกคำสั่งเดียวกัน:

 คอมไพล์ซิงค์คอมไพล์ 

ณ จุดนี้สิ่งที่เราทำคือสร้าง symlink ระหว่างสองที่ตั้ง หากต้องการซิงค์เนื้อหาจริงคำสั่งจะเป็น (เรียกใช้ในแต่ละตำแหน่ง):

 ซิงค์ภาคผนวก git - เนื้อหา 

และที่นั่นคุณไป: สถานที่ทั้งสองอยู่ในซิงค์กัน ขอแสดงความยินดีคุณใช้ git-annex เพื่อซิงค์โฟลเดอร์โลคัลกับตำแหน่งคลาวด์ที่ติดตั้งแบบโลคัล

เรียนรู้ต่อไป

สำหรับข้อมูลเพิ่มเติมให้ใช้คำสั่ง man git-annex หน้าคู่มือให้ข้อมูลมากมายเพื่อให้คุณได้เรียนรู้เกี่ยวกับเครื่องมืออันทรงพลังนี้อย่างไม่น่าเชื่อ

บริการจดหมายข่าวคลาวด์และทุกอย่าง

นี่คือทรัพยากรไปสู่ล่าสุดของ AWS, Microsoft Azure, แพลตฟอร์ม Google Cloud, XaaS, ความปลอดภัยบนคลาวด์และอีกมากมาย จัดส่งวันจันทร์

สมัครวันนี้

© Copyright 2020 | mobilegn.com