כך אתה משתף את עבודתך במאגר מרוחק של git



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

העבודה שלך מוסיפה ערך רב יותר כשפורסמת ומשותפת עם העולם (או הצוות שלך) !!!

מתחילים

ללכת , כידוע, הוא כלי הגרסאות הפופולרי ביותר ששימש היום חנות , מַסלוּל ו גִרְסָה כל סוג של נתונים .
חלק מהתכונות העיקריות של git הן שלה מְהִירוּת , מופץ טֶבַע, בִּטָחוֹן , ללא כאבים הסתעפות ומיזוג ביחד עם שיתופי פעולה לעבוד בקרב מספר תורמים.

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

זה מעורר אותנו לדחוף את הנתונים שלנו לשלב הבא 'Repo Remote' כדי לפרסם אותם במאגר מרוחק.

האם הנתונים שלי כבר לא מאוחסנים במסד נתונים של git?

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





מהו מאגר מרוחק

מאגר מידע שנאסף המאוחסן במיקום שיכול להיות מְשׁוּתָף עם חברי הצוות שלך על ידי מתן אותם גִישָׁה .
הוא מתארח באופן אידיאלי ב- ענן או על א שרת (מקומי או מרוחק) באינטרנט או ברשת המקומית שלך.
מאגר מרוחק הוא בדיוק כמו מאגר ה- git המקומי שלך, אלא שהוא בדרך כלל מוכרז כמאגר חשוף ולכן כדי שלא יהיה לו עותק עבודה כמו המקומי שלך.
זה נעשה כדי להגביל את השינויים הישירים שבוצעו במאגר המרוחק.

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

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



צור מאגר מרוחק

בראש ובראשונה, עליכם להחליט על מיקום שעליו תרצו למקם את הריפו המרוחק שלכם.
ישנם לא מעט מאגרי אירוח git פופולריים מבוססי ענן כגון - GitLab , BitBucket , GitHub , בְּעַל כָּרחוֹ ו CloudForge עד כמה שם.
בפוסט זה, אני שוקל את GitHub מכיוון שזה המקום בו התחלתי לראשונה לשמור את מאגרי ה- git שלי. כדי להתחיל, כל שעליך לעשות הוא להיכנס לחשבון GitHub ואז צור מאגר חדש , זה יוצר כתובת URL שמפנה אל ריפו מרוחק זה.


Git תומך בפרוטוקולים ssh, git, http ו- https לטיפול בכתובת URL של מאגר.

לחלופין, אתה יכול גם למקם את הפרויקט שלך במקום אחר לומר a שרת לינוקס בעקבות הפקודות הבאות-
cd $ HOME
mkdir remote_repo
cd remote_repo
git init - סתם.

חבר את השלט למכונה המקומית שלך

הצמדת שלט לעותק העבודה שלך פירושה פשוט ליצור מטפל בהתייחסות מצביע לשלט הרחוק או פשוט נקרא ' מטפל מרחוק '.
בוא נקפוץ לפרויקט שלי שאני רוצה לפרסם-CD ללמודשלטים
תחביר:להוסיף מרחוק
פקודה:git remote הוסף מקור https://github.com/divyabhushan/learnRemotes.git

'מָקוֹר האם ה בְּרִירַת מֶחדָל שם התייחסות למטפל מרחוק. ' (שם מרוחק חייב להיות שם רלוונטי כלשהו)
בואו נראה אם ​​זה עבד בעזרת הפקודה:מרחוק git

זה היה :)

הדפיסו את כתובת האתר המרוחקת יחד עם השם:
מרחוק git -v

כל הכבוד! הכל מסודר עם יצירת חיבור למאגר המרוחק שלך מספריית העבודה המקומית שלך.

הגיע הזמן לפרסם

תחביר:דחיסת git - כל התגים[-u | - set-upstream]
פקודה:מאסטר מקור git push

אז אתה קורא את זה כ 'דחף את ההבדל של ההתחייבות למוצא מהמאסטר המקומי' .

אם אתה בודק את חשבון GitHub שלך, יש להציג שם את ההתחייבויות המקומיות שלך (נתונים) -



ענפי מעקב

אז פרסמת בהצלחה את עבודתך במאגר המרוחק.
עם זאת, חשוב שתקים את הסניף המקומי שלך מַסלוּל את השינויים בסניף המרוחק באופן אוטומטי.
להשתמש ב '- set-upstreamאוֹ'דגל יחד עם הפקודה' git push '
פקודה:git push -u master master

ענפים מקודדים בצבע


בואו ונהיה התחייבות חדשה לענף ה'מאסטר 'ונוודא איך git מזהה את זה-
פקודה:מצב git


הראה את ענפי המעקב במצב מילולי
פקודה:ענף git -vv


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

איך אחרים היו מתחברים לשלט שלך?

זו חתיכת עוגה כשאתה שיבוט מאגר מרוחק !!!

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

שלב 1: שיבט את ריפו המרוחק שלך כמשתמש אחר-
פקודה:שיבוט git https://github.com/divyabhushan/learnRemotes.git מפתח2
מפתח CD2

שלב 2: הראה את השלט ואת כתובת האתר שלו
פקודה:מרחוק git -v


שלב 3: רשום את ענפי המעקב
פקודה:ענף git -vv


הכיף מתחיל כאשר 'מפתח 2' יתחיל את העבודה שלו / שלה וידחף לשלט הרחוק.

אתה יכול להתחבר ולתרום יותר משלט אחד מאגר מא פרויקט יחיד .

צפו בסניפים המרוחקים

פקודה:ענף git -r


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

איך אחרים תורמים לשלט שלך?

הגדרה ראשונית
Developer2 מחליט לשנות כמה דברים כגון:
ל. לִיצוֹר 'תכונה' חדשה מההתחייבות האחרונה בסניף 'מאסטר' ועשה התחייבות חדשה בסניף 'תכונה'
פקודות:
git checkout-b תכונה
הד 'שיפורי תכונות'> feature.txt
להוסיף git. && git commit -m 'שיפורי תכונות'

ב. לִיצוֹר ענף 'תכונה 2' שונה מההתחייבות הישנה יותר לענף 'המאסטר'
פקודות:
git checkout -b feature2 95651fb
הד 'feature2 נוסף'> feature2.txt
להוסיף git. && git commit -m 'הוספת שינויים בתכונה 2'

בואו נתאר לעצמנו את הענפים במכונת מפתח 2 יחד עם מידע המעקב:

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

דוחף שינויים לשלט רחוק
ראשית תן לי לדחוף את ענף 'התכונה' לשלט רחוק עם דגל '–הגדר במעלה או - u'
פקודה:תכונת מקור git push -u




שלט נוצר סניף חדש, אם הוא לא קיים כבר !!!

ברגע זה, רשום את הענפים המרוחקים עם הפקודה: 'git branch -r'




דרך נוספת לעקוב אחר סניף מרוחק
יתר על כן, בואו נגדיר את הענף 'תכונה 2' גם להצביע על אותו ענף 'תכונה' בשלט הרחוק
פקודה:ענף git - set-upstream-to = מקור / תכונה תכונה 2

מדריך ssis למתחילים 2012 עם דוגמאות



ענף מקודד צבע


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

רשום שוב את הענפים במצב מילולית, פקודה:ענף git -vv



שימו לב, שני הסניפים המקומיים 'תכונה' וגם 'תכונה 2' המצביעים על אותו 'תכונה' של סניף מרוחק.

להישאר מסונכרן עם השלט - להביא, למשוך ולדחוף

בואו ניקח בחשבון את החלק בו ה סניף מרוחק שאתה עוקב כבר עודכן, מה אז?
פשוט 'מצב git'או'קופת git'או אפילו את'ענף git -vv'פקודה מזהירה אותנו עם חוסר התאמה כזה-



תחילה על 'מפתח 2' לעדכן את הפניות והאובייקטים המקומיים (' להביא git ') ואז למזג את השינויים המרוחקים והמקומיים (' מיזוג git ').
מעניין שאתה יכול להחליף את שתי הפקודות האלה בפקודה 'git pull' אחת.
תחביר:ללכת מְשׁוֹך

–עבור סניף ללא מעקב
תחביר: git pull [:]
פקודה:מאפיין מקור git pull: feature2

- לסניף במעקב
תחביר: משיכה git
פקודה:משיכה




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

לאחר משיכת 'מפתח 2' (אחזור ומיזוג) השינויים האחרונים המרוחקים חייבים כעת לפרסם עבודות משלו -
פקודה:מקור git push HEAD: תכונה
הערה: 'תכונה' של סניף במעלה הזרם אינה תואמת לשם 'תכונה 2' של הסניף המקומי, עליכם לספק זאת במפורש



תִזכּוֹרֶת : 'HEAD' הוא ההתחייבות האחרונה בסניף 'feature2' המקומי.

מתי להשתמש ב- 'git fetch'?
בתקופות שיש לך צורך פשוט לעדכן את ראשי התייחסות מבלי להוריד (למשוך) בפועל מהשלט.
לחלופין, כאשר הענפים המרוחקים שונו / נמחקו בעת עדכוןם, יהיה עליכם להפעיל את פקודת ה- fetch באמצעות '--לִגזוֹם'אפשרות.
כשיטה מומלצת, עליך להפעיל את פקודת 'git fetch' בכל פעם שאתה מתחיל לעבוד על הרפו המקומי שלך.

שליטה מרחוק

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

שנה את שם השלט

תחביר:לשנות שם מרחוק
פקודה:git מרחוק לשנות שם snv_repo svn
לדוגמה, שקול מנהל פרויקט המשויך לשלושה פרויקטים -


מחק הפניה מרחוק

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

תחביר:הסר מרחוק
פקודה:הסר את proj1 מרחוק


מה אם היה לך סניף מקומי שיוכל לעקוב אחר סניף מהמאגר 'proj1' שהוסר?
ובכן, שלך סניף מקומי (ומכאן העבודה) היא בטוח ועדיין נוכח, רק שלה הפניה למעקב מרחוק ו תְצוּרָה ההגדרות יהיו הוסר אוטומטית

מחק סניף מרוחק

תגיד אתה בטעות דחף את שלך אישי עבודה גסה על א ענף לשלט רחוק אבל לא רוצה שאחרים יבדקו זאת עדיין -
הסר את ענף 'unfinishedWork' מה- svn'- המרוחק
פקודה:ענף git -vv# רשום את ענפי המעקב מרחוק



תחביר:git push - מחק
פקודה:git push - מחק svn לא גמור עבודה


פירוק

בכך אנו מגיעים לסוף מאמר זה. אם מצאת את זה “ הדרכה 'רלוונטי, לבדוק את מאת אדוריקה, חברת למידה מקוונת מהימנה עם רשת של יותר מ -250,000 לומדים מרוצים הפרוסים ברחבי העולם. קורס הכשרת ההסמכה של Edureka DevOps עוזר ללומדים לרכוש מומחיות בתהליכי וכלים שונים של DevOps כמו Puppet, Jenkins, Nagios ו- GIT לאוטומציה של שלבים מרובים ב- SDLC.