העברת מאגר GitHub LFS (Git Large File Storage) ל-AWS CodeCommit
- Tan Shuai
- פיתוח תוכנה
- 09 Feb, 2022
\nלאחרונה העברתי אחד ממאגרי ה-GitHub שלי, המשתמש ב-Git Large File Storage (LFS), ל-AWS CodeCommit. חשבתי לשתף אתכם בתהליך למקרה שתרצו לעשות משהו דומה. הנה מדריך שלב-אחר-שלב מבוסס על ניסיוני.
דרישות מוקדמות
לפני שנתחיל, ודאו שיש לכם את הכלים הבאים מותקנים:
- Git
- Git LFS
- AWS CLI
מדריך שלב-אחר-שלב
1. שיבוט המאגר
ראשית, שיבטו את מאגר ה-GitHub שלכם באמצעות האפשרות --mirror
. פעולה זו יוצרת שיבוט ריק של המאגר, כולל כל הענפים והתגיות.
git clone --mirror https://github.com/tanshuai/designs.git designs
2. אימות קבצי LFS
לאחר מכן, רשמו את כל הקבצים המנוהלים על ידי Git LFS כדי לוודא שהכל במקום.
git lfs ls-files
עליכם לראות משהו כזה:
cadfa0bc9e * Brochure-Trifold-Draft.ai
af9b8b8a1c * Brochure-Trifold-English.ai
27bb5f4e61 * Brochure-Trifold.ai
3. העברת קבצי LFS
כעת, ייצאו את קבצי ה-LFS. שלב זה מבטיח שהם חלק מההיסטוריה של המאגר שלכם.
git lfs migrate export --include="*.ai" --everything
תראו הודעות התקדמות כמו אלו:
migrate: Sorting commits: ..., done.
migrate: Rewriting commits: 100% (20/20), done.
master 98a3c48d85... -> 82f8873b41...
migrate: Updating refs: ..., done.
migrate: checkout: ..., done.
prune: 3 local object(s), 0 retained, done.
cadfa0bc9e... (133 MB)
27bb5f4e61... (131 MB)
af9b8b8a1c... (130 MB), done.
prune: Deleting objects: 100% (3/3), done.
4. ניקוי LFS
הסירו את מידע המעקב של Git LFS והסירו את התקנת Git LFS.
git lfs ls-files
git rm .gitattributes -f
git lfs uninstall
5. דחיפה ל-AWS CodeCommit
לבסוף, דחפו את המאגר שלכם ל-AWS CodeCommit.
git push https://git-codecommit.us-east-2.amazonaws.com/v1/repos/designs --all
זהו זה! על ידי ביצוע שלבים אלו, הצלחתי להעביר את מאגר ה-GitHub שלי שמשתמש ב-LFS ל-AWS CodeCommit. הקבצים הגדולים וההיסטוריה של המאגר נשמרו בצורה מושלמת.
סיכום
העברת מאגר GitHub המשתמש ב-Git LFS ל-AWS CodeCommit היא די פשוטה אם עוקבים אחר השלבים הנכונים. אם יש לכם שאלות או שנתקלתם בבעיות, התיעוד של AWS CodeCommit ו-Git LFS הם משאבים נהדרים.
אני מקווה שתמצאו את המדריך הזה מועיל. תכנות נעים!