Skip to content

hasansendani/SE-lab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 

Repository files navigation

SE-lab

This project consists of 3 branches:

  • main: the mainstream of the project
  • validation hotfix: a bug detected in validation method and it needed to be fixed
  • prioritization_improvement: the prioritization has a major bug and was fixed

The starting point of the application is this line:

if __name__ == '__main__':
    calculate()

پاسخ سوال ۱

پوشه‌ی .git پوشه‌ی اصلی است که گیت اطلاعات خود را در آن ذخیره می‌کند و با دستور git init ساخته می‌شود

پاسخ سوال ۲

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

پاسخ سوال ۳

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

پاسخ سوال ۴

دستور revert یک کامیت جدید ایجاد می‌کند که تغییرات یک کامیت خاص را undo کند. بنابر این اگر می‌خواهیم به ۳ کامیت قبل برگردیم، باید ۳ بار revert کنیم.

دستور reset به کلی head کل برنچ را به کامیت مد نظر منتقل می‌کند و کامیت‌های بعد از آن حتی از هیستوری کامیت‌ها حذف می‌شوند.

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

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

پاسخ سوال ۵

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

پاسخ سوال ۶

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages