Tan Shuai

העברת מאגר GitHub LFS (Git Large File Storage) ל-AWS CodeCommit

פיתוח תוכנה

\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 הם משאבים נהדרים.

אני מקווה שתמצאו את המדריך הזה מועיל. תכנות נעים!