آموزش گیت - قسمت دوم

آموزش گیت - قسمت دوم

آموزش گیت - قسمت دوم
آموزش گیت - قسمت دوم

خب امیدوارم که گیت رو تو سیستم داشته باشید، خلاصه قسمت اول اینه که گیت یه برنامه‌ای هسش که هنگام اجرا به فایل‌های شما یه نگاه میندازه بهتون میگه چه تغییراتی به وجود اومده..
بیایید باهم شروع کنیم گیت رو و در ادامه با چندها اصطلاح مهم دنیای گیت آشنا هم بشیم. با قسمت دوم آموزش گیت همراه سیسوگ باشید!

 

بزن بریم!

فک کنید شما یک پوشه‌ای بنام My_Sisoog دارید که می‌خواهید این پوشه رو به گیت بشناسونید که براتون بررسی بکنه، وارد پوشه شده وراست کلیک کنید:

 

همان‌طور که می‌بینید دو گزینه با نام‌های git gui here و git bash here وجود داره که یکی حالت گرافیکی و دیگری حالت ترمینالی یا کامندی هسش که قطعاً ما حالت کامندی رو باهم اجرا می‌کنیم که یه کادری برامون مشابه عکس زیر بالا میاد:

سپس باید initialize بکنیم که با این کار ما اجازه میدیم گیت دایرکتوری رو تحت کنترل به گیره پس دستور زیر رو وارد کنید:

که برامون پیغامی چاپ میکنه با این مضمون که داخل پوشه‌ها برات یه فایل .git ساختم. (مستندات سایت گیت)

 

حواستون باشه که دایرکتوری که با دات (.) شروع بشه مخفی هست باید از حالت hidden خارج کنید (البته نیاز به این کار نیست کاری هم با اون پوشه تا آخر آموزش نخواهیم داشت)

فایل .gitخب حالا بیایید داخل پوشه هامون دوتا فایل دیگه با نام‌های src و inc بسازیم و یه داکیومنت.c و.h هم قرار بدیم (این کار صرفاً برای تست بوده لزومی نداره شما حتی میتونید فایل‌های word و غیره اضافه کنید و با من پیش بیایید)
ما به دلیل اینکه یه تغییرات جدیدی تو دایرکتوری دادیم باید به گیت بگیم برامون بررسی کنه، یه دستور بسیار پرکاربرد که همیشه ازش استفاده می‌کنیم:

حتماً فهمیدید که تو گیت همه دستورات با پیشوند git شروع میشن.
بیایید این دستور رو وارد کنیم:

تو خط اول میگه ما تو شاخه master هستیم. (آفرین بهت!)
خط بعدی میگه هنوز کامیتی نیست یا وجود نداره (خب هول نکنید، کامیت چیز خوشمزه‌ای به زودی بهش می‌رسیم)
تو خط بعد که یکی از اصطلاحات گیته و باید بلد باشید میگه فایل‌های untracked نشده این پایینی‌ها هستند.
گیت سه تا وضعیت داره که اولی untracked هست، به معنای اینکه اینارو تازه اضافه کردی و نمیدونم چیه..
بعد خودش اون وسطا راهنمایی میکنه، میگه دستور git add رو بزن تا اینا رو به منطقه یا وضعیت stage تغییر بدم که این دومین وضعیته به معنای اینکه حواسم هست بهش اما جایی ثبت نشده ولی بهت میگم که چه تغییراتی ایجاد کردی..
وضعیت سوم هم که کامیت کردنه باعث میشه تغییرات شما نهایی بشه و ثبت بشه. و اگر روزگاری خواستید به فایل هاتون برگردید دراصل به همین کامیت کرده هاتون برمیگردید. یه چند قدم که بیایید جلوتر براتون جا میفته.

آموزش گیت

من الآن دوس دارم فقط پوشه inc رو ببرم به وضعیت stage، خب دستور:

بعد یه وضعیتم چک می‌کنم با دستور git status:

خب مشخصه که فایل سبز رنگ در وضعیت stage  قرار داره چون خودمون بهش گفتیم اما فایل src رو همچنان untrack میشناسه. نظرتون چیه داخل فایل main.h یه چند خط کد بنویسیم ببینیم گیت بهمون چی میگه؟

 

خب مجدد دستور git status رو بزنید:

بیایید دوباره تفسیر کنیم. میگه یه فایل داری که تو حالت stage  هسش، بعد دو خط بعدی میگه حواست باشه یه چیزی تغییر دادی، میگم عه! گیت، میشه بهم بگی کجا تغییر پیدا کرده؟ میگه چشم! فقط لطف کن دستور git diff رو بزن تا بگم:

من که لذّت بردم، شما رو نمیدونم… دقیقاً میگه اینا رو اضافه کردی، که کاملاً درسته! حتی اگه شما تغییرات خیلی زیادی بدید که گیت نخواد همه تغییرات رو نشون بده، براتون شماره خط‌ها رو نشون می‌ده! میگه مثلاً تو خط فلان شما فاصله رو اضافه/حذف کردی… فقط یادتون نره که ما این تغییرات رو هم با دستور git add به stage اضافه می‌کنیم، چون مورد تاییدمونه. حالا میخوایم همینو کامیت کنیم. یعنی بگیم آره خانوم/آقای گیت دستت درد نکنه، همین تغییرات رو برام ثبت کن! (یادتون نرفته که شما هر زمان که بخواید میتونید در آینده به کامیت هاتون برگردید.)
دستور git commit رو وارد کنید!

خب بیایید یه لاگ بگیرم پس دستور زیر رو وارد کنید:

خب تصویر گویاست الآن ما یک مورد کامیت شده داریم که برامون یه هش (hash) هم تولید کرده

صرفاً جهت اطلاع بگم الگوریم هش گیت، sha1 هسش.

حالا یه git status بگیرید:

همچنان با فایل src ما کاری نداره … جهت تمرین شما خودتون هم این src رو اضافه کنید.

آموزش گیت جادی – قسمت دوم

حمایت از محمدرضا عابدینی

خوشحال میشیم برای تداوم و کیفیت ما رو حمایت کنید.

0 نفر

پــــســنــدیـده انـد

توجه

محمدرضا عابدینی
محمدرضا عابدینی

درحال تلاش..

دیدگاه ها

0 دیدگاه

پر بحث ترین ها

مسابقه دوم : چالش برنامه نویسی به زبان C

مسابقه اول سیسوگ (مسابقه اول: درک سخت افزار) انتقادهای زیادی رو در پی داشت تا جایی که حتی خودمم به نتیجه مسابقه...

Zeus ‌ Zeus ‌
  • 2 سال پیش

راه اندازی LCD گرافیکی Nokia 1661 و دانلود کتابخانه آن

LCD گرافیکی یکی از مهم ترین پارامترهای موجود در طراحی انواع مدارات الکترونیکی پیچیده و حتی ساده است ، نمایش وضعیت و...

Zeus ‌ Zeus ‌
  • 4 سال پیش

ریموت کدلرن و چکونگی دکد کردن آن به همراه سورس برنامه

ریموت کنترل امروزه کاربرد زیادی پیدا کرده است؛ از ریموت‌های درب بازکن تا ریموت‌های دزدگیر و کنترل روشنایی همه از یک اصول اولیه پیروی می‌کنند و آن‌هم ارسال اطلاعات به‌صورت بی‌سیم است....

Zeus ‌ Zeus ‌
  • 5 سال پیش

مسابقه سوم: استخراج داده از رشته ها در زبان C

نزدیک به 5 ماه از مسابقه دوم سیسوگ می‌گذره و فکر کردم که بد نیست یک چالش جدید داشته باشیم! البته چالش‌ها...

Zeus ‌ Zeus ‌
  • 2 سال پیش

همه چیز درباره ریموت کنترل‌های هاپینگ

امنیت همیشه و در همه‌ی اعصار، مقوله‌ی مهم و قابل‌توجه‌ ای بوده و همیشه نوع بشر به دنبال امنیت بیشتر، دست به ابداعات و اختراعات گوناگونی زده است. ریموت کنترل یکی از این اختراعات است. در این مقاله، به بررسی امنیت انواع ریموت‌های کنترل خواهیم پرداخت....

Zeus ‌ Zeus ‌
  • 5 سال پیش

مسابقه ششم: بزن میکروکنترلر را بسوزون!

بزنم میکروکنترلر را بسوزونم اونم تو  این شرایط!، طراحی مسابقه از اون چیزی که به نظر می‌رسه سخت‌تر است، باید حواست باشه...

Zeus ‌ Zeus ‌
  • 9 ماه پیش

آموزش قدم به قدم راه اندازی +NRF24L01

آموزش قدم به قدم راه اندازی +NRF24L01  با کتابخانه سازگار با انواع میکروکنترلرها و کامپایلرها قبل از اینکه قسمت بشه با ماژول...

رسول خواجوی بجستانی رسول خواجوی بجستانی
  • 3 سال پیش

ساخت ماینر با FPGA و ARM

چند ماهی هست که تب بیت کوین و ارزهای دیجیتال خیلی بالا رفته! چه شد که این پست را نوشتم همانطور که...

Zeus ‌ Zeus ‌
  • 3 سال پیش

مسابقه چهارم: کدام حلقه سریع‌تر است؟

حدود ۷ ماه پیش، مسابقه سوم سیسوگ رو برگزار کردیم و کلی نکته در مورد خواندن رشته‌های ورودی را بررسی کردیم. فکر...

Zeus ‌ Zeus ‌
  • 1 سال پیش

کار با ماژول تمام عیار mc60 – قسمت دوم – راه اندازی OpenCPU

در قسمت اول به یکسری اطلاعات کلی ماژول mc60 پرداختیم، با نرم افزار QNavigator کار کردیم و یک هدربرد هم برای کار...

Mahdi.h   Mahdi.h  
  • 2 سال پیش
سیـــســـوگ

مرجع متن باز آموزش الکترونیک