چگونه از Git در اندرویداستودیو استفاده کنیم - بخش دوم

گردآوری و تالیف : پوریا شریفی
تاریخ انتشار : 28 اسفند 1398
دسته بندی ها : اندروید

در این مقاله از راکت قسمت دوم از مقالات چگونه از گیت در اندرویداستودیو استفاده کنیم را ارائه می‌دهیم، اگر قسمت اول را نخوانده‌اید می‌توانید از لینک زیر استفاده کنید.

چگونه از گیت در اندروید استودیو استفاده کنیم قسمت اول

موارد مورد بررسی

در این قسمت، تعدادی از ویژگی‌های وابسته به commit را به شما نشان می‌دهیم، و تغییرات را وقتی در اندرویداستودیو با گیت کار می‌کنیم با هم مقایسه می‌کنیم. شامل:

  1. تعامل با staging
  2. بهترین عادات قبل از commit
  3. رفع conflict
  4. حاشیه نویسی
  5. مقایسه کردن تغییرات

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

تعامل با staging

یکی از بهترین عادت‌ها هنگام کار با گیت این است که، commit را زود و در اغلب موارد انجام دهید.

این یعنی به‌جای اینکه تا هنگام کامل شدن commit صبر کنید، بهتر است که کار را در تکه‌های کوچک انجام دهید و کار خود را commit کنید. برای انجام این کار از گزینه --interactive در مسیر VCS > Commit استفاده کنید.

چگونه از Git در اندرویداستودیو استفاده کنیم_بخش دوم

در پنل diff می‌توانید تعیین کنید که کدام قسمت از فایل می‌خواهید در commit کنونی باشد. با قابلیت interactive می‌توانید تغییرات وابسته را در یک گروه commit کنید.

بهترین عادت‌ها قبل از commit

در پنجره commit changes، گزینه‌های زیادی در قسمت before commit وجود دارد، بیایید باهم برسیشون کنیم:

چگونه از Git در اندرویداستودیو استفاده کنیم_بخش دوم

  • Reformat Code: همانند وقتی که یک تکه کد را انتخاب و آن‌را در مسیر Code > Reformat Code و یا با میانبر option + cmd + L اصلاح می‌کنید. فضاها و تب‌های اضافی را که ممکنه داده باشید را حذف و آن‌ها را در یک قالب به صورت مناسب مرتب می‌کند.

چگونه از Git در اندرویداستودیو استفاده کنیم_بخش دوم

  • Rearrange Code: همانند وقتی که شما Code > Rearrange Code را انتخاب می‌کردید. این گزینه دستور می‌دهد که همه‌ی attribute هایی که در یک مسیر معین هستند، براساس کد استایل از پیش تعریف شده در مسیر Preferences > Editor > Code > Style > Java و در تب Arrangement مجدد تنظیم شوند.
  • Optimize Imports: همانند زمانی که گزینه‌ی Code > Optimize Import را انتخاب می‌کردید و یا میانبر Ctrl + Option + O می‌زدید.

چگونه از Git در اندرویداستودیو استفاده کنیم_بخش دوم

  • Perform Code Analysis: همانند زمانی که گزینه Analyze > Inspect Code را انتخاب می‌کردید. یک سری بررسی کد است که کدهای غیر عادی در پروژه را قبل از commit یا compile حذف و یا تصحیح می‌کند.
  • Check TODO: یکی از محبوب‌ترین گزینه‌ها است که در ادامه توضیح داده خواهد شد.
  • CleanUp: این گزینه تکه کد‌های مشکل‌ساز را پیدا کرده و آن‌ها را فورا درست کرده.

بیایید این گزینه‌ها را آزمایش کنیم.

چگونه از Git در اندرویداستودیو استفاده کنیم_بخش دوم

همانطور که می‌بینید در این تکه کد چیزهای زیادی نیاز به درست شدن دارند.

اینجا من گزینه‌های: Reformat Code, Rearrange Code, Optimize Import, Perform Code Ananlysis و cleaup را انتخاب می‌کنم. اکنون در خروجی که در تصویر زیر می‌بینید همه‌ی مشکلات خودکار درست شده‌اند.

چگونه از Git در اندرویداستودیو استفاده کنیم_بخش دوم

یادم رفت گزینه Check TODO را انتخاب کنم :(

فرض کنید نیاز داریم که فلگ DEBUG را True کنیم و یک to-do برای یاداوری برگرداندن آن به False بعد از پایان Debuging اضافه کنیم.

چگونه از Git در اندرویداستودیو استفاده کنیم_بخش دوم

اکنون، بیایید که در نظر بگیریم که شما to-do را فراموش کرده‌اید، و این commit خطرناک را انجام داده‌اید، انتخاب گزینه Check Todo شمارا نجات خواهد داد چرا که هنگام کلیک بر روی دکمه to-do را به شما یادآوری می‌کند.

چگونه از Git در اندرویداستودیو استفاده کنیم_بخش دوم

پنجره‌ای که باز خواهد شد می‌گوید: "یک آیتم Todo برای ویرایش یا اضافه کردن پیدا شد، آیا می‌خواهید که آن‌را بازبینی کنید؟"، اگر برروی Review کلیک کنید، Todo ای که نیاز به بازبینی دارد را به شما نمایش می‌دهد.

چگونه از Git در اندرویداستودیو استفاده کنیم_بخش دوم

نکته‌ای که باید به آن توجه کنید این است که آن گزینه همانند یک یادآور است و شما باید خود تغییر و یا حذف آن Todo را بررسی کنید، بنابراین می‌توانید commit را ادامه دهید.

رفع Conflict

اگر شما یک توسعه‌دهنده هستید، هرچه زودتر باید با Conflict خود را سازگار کنید. ابزارهای زیادی برا رفع Conflict وجود دارد اما به نظر من، اندرویداستودیو بهترین گزینه برای توسعه‌دهنده‌های اندروید است.

هنگامی که شما قصد ادغام و یا تغییر برنچ در یک برنچ دیگر دارید اگر به Conflict بر بخورید، پنجره Conflict با لیستی از Conflict ها همانند زیر ظاهر می‌شود:

  چگونه از Git در اندرویداستودیو استفاده کنیم_بخش دوم

  • Accept Yours: نگه‌داشتن تغییرات برنچ خود، و رد کردن تغییرات برنچی که می‌خواهید در آن ادغام کنید.
  • Accept Theirs: دورانداختن تغییرات برنچ خود، و استفاده از تغییرات برنچی که می‌خواهید در آن ادغام کنید.
  • Merge: برطرف کردن Conflict به صورت دستی.

اگر شما گزینه Merge را انتخاب کنید، یک پنجره به شما نمایش داده می‌شود که شامل تغییرات Repository محلی در چپ و تغییرات remote در سمت راست و نتیجه ادغام در وسط است، که همانطور در تصویر زیر می‌بینید هر کدام در یک قسمت جداگانه قرار دارند.

چگونه از Git در اندرویداستودیو استفاده کنیم_بخش دوم

بیاید یکم بیشتر در مورد رنگ‌ها صحبت کنیم.

  • رنگ سبز: تغییراتی که برای حرکت به هر قسمت مطمئن هستند
  • رنگ آبی: تغییراتی که به طور مستقیم باعث تغییر نتیجه ادغام در پنل وسط می‌شود
  • رنگ قرمز: تغییرات در هردو قسمت چپ و راست، که نیاز دارد با دقت بررسی شود
  • رنگ خاکستری: خط‌های حذف شده را به شما نشان می‌دهد.

نکته: قبل از حل هرگونه Conflict، به شما پیشنهاد می‌کنم بر روی دکمه جادویی در پنل بالا کلیک کنید، که باعث می‌شود اندرویداستودیو سعی کند Conflict های ساده را تا جایی که می‌تواند حل کند. و این حقیقتا یک نجات‌دهنده برای شماست.

چگونه از Git در اندرویداستودیو استفاده کنیم_بخش دوم

بعد از کلیک بر روی دکه "Resolve Simple Conflict"، تنها نیاز دارید که خط‌های قرمز را بررسی کنید.

چگونه از Git در اندرویداستودیو استفاده کنیم_بخش دوم

شما می‌توانید از فلش‌ها برای حرکت تغییرات بین Repository محلی و Remote استفاده کنید تا زمانی که IDE به شما اخطار Conflict بدهد.

نکته: در پنل Merge Revision قسمت بالا سمت چپ، شما می‌توانید از فلش بالا و پایین برای حرکت بین تغییر قبلی و بعدی استفاده کنید. این می‌تواند خیلی مفید باشد اگر شما یک فایل با هزاران خط Conflict داشته باشید.

حاشیه‌نویسی

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

شما می‌توانید کل فایل را با کلیک بین فضای خالی شماره خط و محتوای فایل حاشیه‌نویسی کنید.

چگونه از Git در اندرویداستودیو استفاده کنیم_بخش دوم

با این کار به شما تاریخ و کسی که آخرین بار فایل را تغییر داده نمایش می‌دهد.

چگونه از Git در اندرویداستودیو استفاده کنیم_بخش دوم

با کلیک بر روی Annotate Content، جزئیات تغییر شامل فایل‌های تغییر داده‌ شده و پیغام Commit را می‌بینید.

مقایسه تغییرات

فرض کنید یک باگ از یک مشتری دریافت می‌کنید و شما می‌دانید که کدام فایل باعث باگ شده است، اما نمی‌دانید باگ از کدام خط است و چه کسی این تغییر را اعمال کرده است.

مقایسه تغییرات کنونی فایل با نسخه قبلی به شما در فهمیدن آن کمک می‌کند.

بر روی فایل کلیک راست کنید، و Git > Compare With… را انتخاب کنید.

چگونه از Git در اندرویداستودیو استفاده کنیم_بخش دوم

پنجره File Revision به شما نمایش داده می‌شود که شامل همه‌ی commit های مربوط به این فایل است. سپس شما می‌توانید با دنبال کردن تاریخچه تغییرات باگ را پیدا کنید.

چگونه از Git در اندرویداستودیو استفاده کنیم_بخش دوم

چگونه از Git در اندرویداستودیو استفاده کنیم_بخش دوم

یکی از محبوب‌ترین ویژگی‌ها Compare With Branch است، با این ویژیگی می‌توانید که تغییرات برنچ کنونی را با هر برنچ دیگری مقایسه کنید.

چگونه از Git در اندرویداستودیو استفاده کنیم_بخش دوم

در مواردی که برنچ‌های زیادی دارید، در قسمت Select Branch to Compare، می‌توانید هر کاراکتری را برای پیدا کردن برنچ تایپ کنید.

مقایسه برنچ ~ git log <branch1>..<branch2>

این قسمت برای زمانی است که می‌خواهید همه‌ی تغییرات بین دو برنچ را مقایسه کنید.

فرض کنید در برنچ feature هستیم، و می‌خواهیم آن‌را با برنچ master مقایسه کنیم. به مسیر VCS > Git > Branches بروید و برنچ مستر را انتخاب و بر روی Comparre With Current کلیک کنید.

چگونه از Git در اندرویداستودیو استفاده کنیم_بخش دوم

پنجره‌ی Compare Feature With Master باز می‌شود که شامل همه‌ی تغییرات بین دو برنچ است، کامیت به کامیت، فایل به فایل.

چگونه از Git در اندرویداستودیو استفاده کنیم_بخش دوم

  • Commit that exist in master but don’t exist in feature(قسمت بالا): همانند خروجی دستور git log feature..master.
  • Commit that exist in feature but don’t exist in master(قسمت پایین): همانند خروجی دستور git log master..featuer.

اگر بر روی هر commit در قسمت بالا یا پایین کلیک کنید، می‌توانید تغییرات مربوط با آن را در پنل سمت راست مشاهده کنید.

اگر می‌خواهید همه‌ی فایل‌های تغییر داده شده بین دو برنچ را ببینید، باید بر روی تب Files کلیک کنید. با این دید، می‌توانید سریع همه‌ی تغییرات را مقایسه کنید.

چگونه از Git در اندرویداستودیو استفاده کنیم_بخش دوم

نتیجه

امیدوارم چیزهای جدیدی یادگرفته باشید و همچنین ماهرانه از این ابزار مفید در اندرویداستودیو استفاده کنید.

منبع

 

مقالات پیشنهادی