ด้วย SVN ฉันมีที่เก็บข้อมูลขนาดใหญ่เพียงแห่งเดียวที่ฉันเก็บไว้บนเซิร์ฟเวอร์และเช็คเอาต์ในเครื่องสองสามเครื่อง นี่เป็นระบบสำรองข้อมูลที่ค่อนข้างดีและช่วยให้ฉันทำงานกับเครื่องใดก็ได้อย่างง่ายดาย ฉันสามารถชำระเงินโปรเจ็กต์ที่เฉพาะเจาะจงยอมรับและอัปเดตโปรเจ็กต์ 'ต้นแบบ' หรือฉันสามารถชำระเงินทั้งหมดได้
ตอนนี้ฉันมีที่เก็บ git มากมายสำหรับโปรเจ็กต์ต่างๆซึ่งหลายแห่งอยู่ใน github ฉันยังมีที่เก็บ SVN ที่ฉันพูดถึงนำเข้าผ่านคำสั่ง git-svn ..
โดยพื้นฐานแล้วฉันชอบมีรหัสทั้งหมดของฉัน (ไม่ใช่แค่โปรเจ็กต์เท่านั้น แต่ตัวอย่างและสคริปต์แบบสุ่มบางอย่างเช่นประวัติย่อของฉันบทความที่ฉันเขียนเว็บไซต์ที่ฉันสร้างขึ้นและอื่น ๆ ) ในที่เก็บขนาดใหญ่ฉันสามารถโคลนลงในรีโมตได้อย่างง่ายดาย เครื่องหรือหน่วยความจำแท่ง / ฮาร์ดไดรฟ์เป็นข้อมูลสำรอง
ปัญหาคือเนื่องจากเป็นที่เก็บส่วนตัวและ git ไม่อนุญาตให้ตรวจสอบจากโฟลเดอร์เฉพาะ (ซึ่งฉันสามารถส่งไปที่ github เป็นโปรเจ็กต์แยกต่างหาก แต่มีการเปลี่ยนแปลงปรากฏทั้งใน master-repo และ sub- repos)
ฉันสามารถใช้ระบบโมดูลย่อย git แต่มันก็ไม่ได้ทำตามที่ฉันต้องการเช่นกัน (โมดูลย่อยเป็นตัวชี้ไปยังที่เก็บอื่น ๆ และไม่มีรหัสจริงดังนั้นจึงไม่มีประโยชน์สำหรับการสำรองข้อมูล)
ขณะนี้ฉันมีโฟลเดอร์ของ git-repos (ตัวอย่างเช่น ~ / code_projects / proj1 / .git / ~ / code_projects / proj2 / .git /) และหลังจากทำการเปลี่ยนแปลงกับ proj1 git push github
แล้วฉันก็คัดลอกไฟล์ไปที่ ~ / Documents / code / python / projects / proj1 / และทำการคอมมิตเดียว (แทนที่จะเป็นจำนวนมากในแต่ละ repos) แล้วทำgit push backupdrive1
, git push mymemorystick
ฯลฯ
ดังนั้นคำถาม: โค้ดส่วนตัวและโปรเจ็กต์ของคุณมีที่เก็บ git อย่างไรและซิงค์และสำรองข้อมูลไว้อย่างไร