خب Git یه ابزار مناسب و جالب برای کارهای تیمی یا کنترل ورژن های نرم افزاره که خیلی از شرکت های بزرگ باهاش کار میکنن و بیشتر پروژه های open source دنیا با گیت کار میکنن و کارهای توسعه نرم افزار را انجام میدن. به نظرم بیشتر مردم میتونن از گیت استفاده کنن، مخصوصا اوناییکه کارهای پژوهشی یا پروژه ای انجام میدن یا میخوان مطلبیو با کمک همدیگه نشر بدن و کامل کنن.
یه سری command ها مثل push و pull و clone و شبیه اینا جزو کامندهای پایه هستن که هرکسی با گیت کار میکنه باهاش آشنایی داره، اگر کسی خواست اعلام کنه درمورد اصل گیت هم مطلب میزارم ولی الان فرض میکنیم شما اون کامندهای پایه را میدونین.
git reset --hard [commit hash]
این کامند برای زمانی استفاده میشه که برای مثال برنامه شما یه حالت نرمالی داره و بدون مشکل داره کار میکنه، بعدش شما یه ایده ی خاصی به ذهنتون میرسه که فکر میکنین درسته و میتونه برنامه شما را قوی تر یا یوزرفرندلی تر کنه، شروع میکنین به نوشتن کد و تست گرفتن، بعد از مدتی متوجه میشین که نه تنها این ایده خوب نبود بلکه ساختار کلی نرم افزار را با خطا مواجه کرد، اینجا راحت ترین راه اینه از این دستور استفاده کنین تا به حالت قبل برسین، البته دقت کنین این دستور به push کردن قبل برمیگرده یعنی فقط اوناییکه commit کردین یا تغییر دادین برمیگردونه.
یا جوره دیگه بگم، برای ریست کردن همه کارهایی که کردین به حالت قبلش. با فرض اینکه شما چند تا کامیت زدین ولی به ریپو push نکردین، خب اگر از این دستور استفاده کنین همه اون کامیت و تغییرات پاک میشه.
git checkout --filename
اگر شما توی شرایطی هستین که یه سری تغییرات توی فایل هاتون دادین ولی میخواین اون تغییرات پاک کنین، از این کامند باید استفاده کنین. دقت کنین که با این کامند شما به commit قبل برمیگردین، یعنی فایل هایی که commit نشدن را براتون ریست میکنه. دستور قبل هرچی تغییر دادین (اون تغییراتی که هنوز برای گیت نفرستادین) چه اوناییکه commit کرده بودین و چه اوناییکه فقط فایلشو تغییر دادین ریست میکرد ولی این دستور فقط فایل هایی که commit نکردین را ریست میکنه.
git rm [file name]
خب این دستور برای حذف فایل یا دایرکتوری از فایل های گیت. با این دستور فایل مورد نظرتون میتونین پاک کنین.
git config --global alias [aliase name][command]
اگر شما نمیخواین زیاد تایپکنین، این دستور مناسب شماست. خب گیت یه ویژگی داره که میتونین برای خودتون دستورات را کوتاه کنین و هرجور که خودتون راحتین دستور صدا بزنین.
برای مثال دستور ریست را میخوام شخصی سازی کنمو براش کلمه اختصاری درست کنم
git config --global aliase.unstage 'reset HEAD--'
خب با این دستور جای اینکه هربار از دستور ریست استفاده کنم از unstage استفاده میکنم، یعنی دو تا دستور زیر یک کار را انجام میدن
git unstage fileA git resexxt HEAD -- fileA
خب command بعدی میتونه جالب باشه ولی من ازش استفاده نکردم
git revert
این دستور شما را به commit قبلی برمیگردونه و فرقش با دو تا دستور اول که گفتم در اینه که، اون دو تا دستور فقط با فایل هایی که هنوز با فایل های همکاراتون یا همون گیت ادغام نشده بود کار داشت (یعنی کارهایی که روی سیستمتون انجام دادین و هنوز برای گیت نفرستادین) ولی این دستور شما و هم تیمی هاتونو را به commit قبلی میبره و بقیه فایل ها را پاک میکنه.
*ویرایش : فکر کنم اینجا را خوب توضیح ندادم، این دستور شما را به کامیت قبلی نمیبره، شما را به کامیتی که انتخاب کردین میبره و تغییرات اون کامیت برمیگردونه یه کامیت جدید براتون میسازه ( برای اینکه لاگ پاک نشه )*
از این دستور استفاده نکردم ولی میتونه برای بعضی مواقع دستور خوبی باشه.
خب این از دستوراتی که ممکن بود براتون کارایی داشته باشه، اگر مطلب بیشتری درباره گیت خواستین، بگین مطلبشو براتون مینویسم