פרויקטים קוד פתוח של Java: GitHub

אם היית סקרן לגבי GitHub, הדרכה קצרה זו בסדרת פרוייקטים קוד פתוח של Java היא בשבילך. קבל סקירה של מאגר קוד המקור ששינה את הדרך בה מפתחים רבים עובדים, באופן פרטני ושיתופי פעולה. ואז נסה את GitHub בעצמך, תוך שימוש בפקודות Git נפוצות כדי להסתעף ולבצע פרויקט קוד פתוח משלך.

GitHub הוא אתר קידוד חברתי ושירות אירוח קוד-קוד המשתמש ב- Git כמערכת בקרת הגרסאות שלו. הושק בשנת 2008, GitHub כבר מתגאה בכמעט 1.7 מיליון אנשים המארחים כמעט 3 מיליון מאגרים. כמו רוב הרשתות החברתיות, GitHub מאפשר למשתמשים ליצור ולעקוב אחר עדכונים הקשורים לפרויקטים של זה. זה גם מרחיב את הפרדיגמה החברתית לכלול גרפי רשת המציגים את השימוש במאגרים. אתה יכול לחשוב על GitHub כרשת חברתית, a la Facebook, אבל רק עבור מפתחי תוכנה.

מפגיש אלמנטים חברתיים עם מאגר חינם לאירוח פרויקטים של קוד פתוח, GitHub שואף לטפח קהילה תומכת ופעילה לשיפור תעשיית התוכנה. ככל שהפרויקט פעיל יותר, כך יותר אנשים ימצאו אותו, ובתקווה שיתרמו לו. GitHub מציע גם תמיכה בפרויקטים מסחריים בעלות סמלית.

בנוסף לפרויקטים הבאים, GitHub מאפשר למשתמשים לעקוב אחר מפתחי תוכנה בודדים. זה מקל לעקוב אחר מה שחברים ועמיתים עושים ולסקור את הקוד שלהם, כמו גם לחפש מתכנתים ידועים ולעקוב אחר עבודתם. עדכון המתעדכן באופן שוטף מהווה הזדמנות לצפות במישהו מתרגל את מלאכתו. עבור מפתחים יש הרבה מה ללמוד מלימוד הקוד ומתודולוגיה זה של זה; למשל, היכולת לראות איזה קוד מפתחים אחרים דוחפים לפרויקטים שלהם ומתי היא דרך נהדרת ללמוד ברמה גבוהה על מחזור פיתוח השחרור.

עקוב אחר הסיפור ב- JavaWorld

  • מדוע מפתחים בוחרים ב- Git לבקרת גרסאות
  • כאשר מזלג הופך לנורמה, התכונן ל- GitHub
  • GitHub מקבל השקעה של 100 מיליון דולר

קידוד חברתי עם GitHub מאפשר למפתחים ללמוד אחד מהשני בדרך חדשה תוך שמירה ועדכון של קוד באמצעות מערכת בקרת גרסאות פופולרית ומציגה היטב. במהדורה זו של פרויקטים קוד פתוח של Java אני אעזור לכם להתחיל לעבוד עם GitHub. ראשית אביא סקירה כללית של הפלטפורמה, ואז אציג כמה יסודות Git, כולל אפשרויות שורת פקודה בהן תשתמש לעתים קרובות ב- GitHub. לבסוף, אעבור על דוגמה פשוטה- diffאל- commitהמדגימה את כוחו היומיומי של מאגר קוד מבוזר זה.

התחל לעבוד עם GitHub

חשבונות GitHub מגיעים בכמה טעמים, מקובצים לפי חשבון אישי או מסחרי ולפי מאגר ציבורי או פרטי. למפתחי קוד פתוח מותר מאגרים ציבוריים ללא הגבלה, או בתשלום נמוך יכולים לבחור לארח בין חמש ל -20 מאגרים פרטיים. מפתחים מסחריים משלמים יותר (בערך פי שניים ממפתחי קוד פתוח נכון לכתיבת שורות אלה) ויכולים להגדיל עד 125 מאגרים פרטיים. ראה דף הבית של GitHub עבור רשימה מלאה של תוכניות ותמחור.

תזדקק לחשבון GitHub על מנת לעקוב אחר מאמר זה. היכנס לאתר GitHub ולחץ על קישור ההרשמה והתמחור בראש העמוד. לחץ על "צור חשבון בחינם" והשלם את תהליך יצירת החשבון.

אם אתה רוצה הוראות התקנה עבור מערכת ההפעלה שלך, עיין במדריך GitHub. שים לב שתהליך ההתקנה מתקין באופן אוטומטי לקוח GUI ומבקש מהתקנה ידנית של כלי שורת הפקודה של GitHub. אני ממליץ לך לקחת אפשרות זו למקרה שתרצה לעשות משהו במהירות בשורת הפקודה.

גיט: פריימר

יהיה עליך להכיר לפחות את גיט על מנת להשתמש ביעילות ב- GitHub. נקודת עניין עבור רוב הגיקים היא ש- Git תוכנן ופותח על ידי לינוס טורוואלדס, מייסד לינוקס. בחלק זה אני מספק סקירה של Git ומתאר כיצד זה עובד. לקראת סוף המאמר אני מציג סקירה של כמה מהפקודות הפופולריות יותר שיעזרו לך להיות פרודוקטיביות במהירות. זה בשום פנים ואופן לא הדרכה ממצה אבל זה אמור לעזור לך להתחיל.

כאשר מפתחי תוכנה חושבים על מערכת בקרת גרסאות (VCS), אנו נוטים לחשוב על מאגר מרכזי בו נשתמש כדי להוריד קוד מקור, לבצע שינויים באופן מקומי ואז להגיש שינויים אלה למאגר המרכזי. גיט הוא קצת שונה. זוהי מערכת בקרת גרסאות מבוזרת , כלומר היא באמת לא מאגר מרכזי אלא שיבוטים מרובים של מאגרים. אז "מאגר המאסטר" קיים איפשהו (כמו ב- GitHub) אבל אנחנו עובדים באופן מקומי על מאגרים משובטים.

הארכיטקטורה המבוזרת של גיט מספקת יתרון משמעותי על פני מערכות בקרת גרסאות שאינן מופצות בכך שמפתחים יכולים לבצע קוד צ'ק-אין וצ'ק-אאוט, ליצור סניפים ועוד. לשינוי משמעותי ב- VCS מסורתי היית יוצר סניף אישי ובודק קוד בסניף זה. כשסיימת את השינויים שלך, היית ממזג את הסניף הזה לסניף הראשי.

בקרת גרסאות מבוזרת

Git משנה את פרדיגמת ה- VC מכיוון שתוכל לעבוד באופן מקומי ולמזג את כל השינויים שלך בהתחייבות יחידה (תוכל לשמור את ההיסטוריה המקומית שלך בעת מיזוגך או לשלב את כל השינויים בצ'ק אין אחד). כך שהמאגר המרכזי אינו זרוע ענפים ועשרות הערות היסטוריות, אלא רק מידע על שינויים בתכונות שבוצעו. למעשה, גיט משתמש בסניפים כפי שנועדו: לפתח מערך תכונות חדש, לשמור על שחרור או לתקן באגים הקשורים לשחרור.

כשאתה מתקין את Git במחשב המקומי שלך ו"משבט "מאגר, אתה מקבל את כל המאגר, כולל מידע היסטורי על כל קוד המקור בפרויקט. לאחר מכן אתה פועל כנגד המאגר המקומי שלך, מוסיף קבצים חדשים, מסיר קבצים ומשנה קבצים בסביבת בימוי עד שתתחייב אותם למאגר המקומי. Git שומר על מידע גרסאות על כל השינויים שלך ואתה יכול בקלות לחזור לכל נקודה בהיסטוריה שלך. לבסוף, כשתהיה מוכן, תוכל לסנכרן את המאגר המקומי שלך עם אחד מרוחק.

שינויים מסונכרנים למאגר מרוחק באמצעות דחיפה ואילו שינויים במאגר מרוחק מסונכרנים עם המאגר המקומי שלך באמצעות משיכה . מכיוון שיש לך שיבוט מלא של המאגר באופן מקומי, אינך מוגבל פשוט לעבוד נגד הענף הראשי של המאגר. אתה יכול ליצור ענפים כדי להכיל את השינויים שלך ואז לדחוף או למשוך אותם לפי הצורך.

ראה משאבים אם אתה זקוק למבוא הדרכה מלא יותר ל- Git. אני אתמקד ב- GitHub להמשך מאמר זה.

קידוד חברתי עם GitHub

לאחר שיצרתם חשבון GitHub תוכלו להתחיל לעקוב אחר עבודתם של מפתחי תוכנה אחרים או לצפות בפרויקטים שמעניינים אתכם. אתה יכול למצוא אנשים או פרויקטים לעקוב אחריהם באמצעות חיפוש ישירות; או אם אתם מחפשים רעיונות תוכלו להשתמש בפונקציה "חקור" של GitHub כדי למצוא פרויקטים על סמך העניין שלכם. חקור GitHub מציג מאגרים פופולריים כמו גם מוצגים. בנוסף לאלה תוכלו לחקור את כל המאגרים על ידי לחיצה על כפתור "מאגרים" בסרגל הכלים. אם ברצונך לחפש פרויקטים המקודדים בשפת תכנות ספציפית, תוכל ללחוץ על "שפות" בסרגל הכלים ואז לבחור את השפה שברצונך לחקור. איור 1 מציג את מאגרי Java הנצפים ביותר (כלומר, הטרנדיים) בזמן כתיבת שורות אלה.

Storm היה המאגר הנאווה ביותר ב- Java ב- GitHub בזמן שבדקתי. לאחר שתמצא פרויקט שאתה מעוניין בו, לחץ עליו ותראה אפשרות "צפה", כפי שמוצג באיור 2.

אם תלחץ על "צפה" אז תהיה מנוי לעקוב אחר הפרויקט ותוכל לראות שינויים שבוצעו בו בדף הבית שלך ב- GitHub. איור 3 מציג את דף הבית של GitHub שלי, המכיל רשימה של עדכונים לפרויקטים שונים של אביב.

מעקב אחר מפתחים בודדים עובד באותה צורה כמו מעקב אחר פרויקטים. לדוגמא, לאחרונה החלטתי לעקוב אחר ידידי טום אקהרסט, כפי שמוצג באיור 4.

מנקודת מבט חברתית, GitHub מאפשר לך למצוא מפתחים ופרויקטים שאולי אתה מעוניין בהם ולקבל עדכונים עליהם. כמובן, הצד השני הוא גם נכון: GitHub הוא מקום מצוין להפגין את עבודתך ולקבל משוב והכרה מעמיתייך.

שימוש ב- GitHub לצורך עדכונים ותחזוקה של פרויקטים

זכור כי המניע העיקרי מאחורי GitHub הוא לקדם פיתוח פרויקטים של תוכנת קוד פתוח. אז אם בניתם משהו טוב, מדוע לא לתרום את הקוד שלכם ל- GitHub ולהפוך אותו לזמין באופן חופשי לעולם?

באפשרותך ליצור מאגר חדש מאתר GitHub או מיישום הלקוח על שולחן העבודה שלך. בחלק זה נעבור תחילה על יצירת מאגר מהאתר, ואז אראה לך כיצד לעדכן ולהעביר קובץ באמצעות שורת הפקודה.

הגדרת מאגר GitHub

בהנחה שיש לך הגדרת חשבון, היכנס ותראה משהו דומה למה שמוצג באיור 5. לחץ על "צור מאגר" ותנחה אותך בתהליך. ראשית, תלחץ על הפריט הראשון בסרגל הכלים הימני העליון שלך, "צור ריפו חדש".

לחץ על קישור זה ותן למאגר שלך שם ותיאור. יצרתי מאגר חדש לאירוח כלי עזר GeekCap שלי, שהוא קבוצה של שיעורי עוזר הכוללים אלגוריתמי מיון ורשימה שאפשר למיין מחדש, מחלקה שמוציאה בקלות סמלים ממאגר הגרפיקה Look-and-Feel של Java, כלי עזר ZIP ו- יותר. אמנם לא הפרויקט הכי מגניב, אך כללתי אותו מכיוון שרוב הפרויקטים האחרים שלי משתמשים באחד או יותר מתכשירים אלה, כך שטוב לאחסן אותם במקום נגיש. קראתי לפרוייקט שלי geek-utilונתתי לו תיאור: "Geekcap Utilities: שיעורים מועילים המשמשים פרויקטים אחרים של Geekcap.com."

לאחר הגדרת הפרויקט שלך, אתה אמור לראות מסך כמו זה שמוצג באיור 6.

איור 6. מאגר נוצר (לחץ להגדלה)

צילום המסך באיור 6 מציג רשימה של מה שאתה יכול לעשות עם המאגר החדש שלך, כמו גם דוגמה ליצירת READMEקובץ ודחיפתו למאגר שלך. יש לי פרויקט Maven קיים שאני צריך להוסיף בפעם הראשונה, אז אני מתחיל להוסיף את pom.xmlהקובץ ואת srcהספריה שלי . להלן פקודות ה- Git שהזנתי לדחיפה הראשונית של הפרויקט למאגר:

רישום 1. פקודות Git ליצירת מאגר

git init git add src git add pom.xml git commit -m 'Initial commit' git remote add origin //github.com/geekcap/geek-util.git git push -u origin master

כאן היכרות עם Git חשובה אם ברצונך להשתמש ב- GitHub. למרבה המזל, פקודות ה- Git העיקריות הן אינטואיטיביות יחסית:

  • git init יוצר מאגר Git ריק. באופן ספציפי, זה יוצר את .gitהספריה, אותה gitהפקודה תזהה כמאגר.
  • git add adds files to the repository; in this case I added my pom.xml and my src directory.
  • git commit commits changes to the repository. All I did was to add the pom.xml file and src directory. You would also use this command after modifying the contents of a file or deleting files via the git rm command.
  • git remote add origin adds the specified URL as the origin server for the Git repository. As you saw in Figure 6, the origin server is created on GitHub for you and the URL is provided in the setup documentation.
  • git push מעלה את כל השינויים המחויבים לשרת שצוין. במקרה זה דחפתי את ההתחייבות הראשונית שמכילה את הספריה pom.xmlואת srcהספריה לשרת המקור, שקבעתי בעבר.

אתה יכול להשתמש ב- Git מה- IDE שלך או משורת הפקודה; אני פשוט במקרה נרקומן בשורת הפקודה. ביצוע git helpמציג את הפקודות הנפוצות ביותר, המסוכמות ברשימה 2.