הפרדה לתתי פרויקט באמצעות git submodules
פעמים רבות כשאנחנו מתחילים פרויקט איננו יודעים מה יהיה גודלו הסופי, כמה מחלקות הוא יכיל, ואיך יראו התלויות. לפעמים, כמה שלא ננסה לתכנן את הכל מראש, נגיע למצב בו אנחנו רוצים להפריד חלק מה-codebase שלנו לפרויקט נפרד. הסיבות לכך יכולות להיות: 1. ניסיון לשמירה על single responsibility principle (כן, הוא לא נכון רק לפונקציות ומחלקות) 2. עובדים על הפרויקט כבר יותר מדי אנשים וביצוע פעולות גיט מרובות לאותו פרויקט על ידי הרבה אנשים יכול ליצור לא מעט צרות וקונפליקטים. 3. לפעמים, בתוך באותה חברה נרצה שמספר צוותים יעבדו על (או ישתמשו ב) אותו פרויקט. 4. במקרים מסוימים אפילו נרצה לקחת חלק קטן מהקוד שלנו (לדוגמה פעולות אוטומציה נפוצות) ולהוציא ל open source. מטרת הפוסט הזה הוא להציג שלושה נושאים: הראשון - הפרדת הפרויקט לתתי פרויקטים השני - מתי נרצה להשתמש ב submodules? השלישי - צריכת תתי הפרויקטים באמצעות git submodules. הערת צד: אינני הולך לדבר על מימוש ההפרדה עצמה, הפוסט מניח שהקורא יודע לפתוח פרויקט, להזיז קבצים אל הפרויקט החדש ולדחוף אותו ל source control. איך מ