5# آموزش سیستم مدیریت کد Git : استفاده به صورت محلی
اندازه‌ی قلم متن
تخمین مدت زمان مطالعه‌ی مطلب: چهار دقیقه

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

 در ابتدای کار نیاز است تا repository خود را ایجاد کنیم. بدین منظور از طریق محیط command prompt به آدرس پوشه مورد نظر رفته و دستور git init را اجرا می‌کنیم. این کار سبب می‌شود تا پوشه git. در داخل فولدر جاری ایجاد شود. این پوشه در واقع همان repository و پوشه جاری، همان working tree ما خواهند بود. حال با استفاده از یک ادیتور نظیر notepad یک فایل متنی جدید را با نام readme1.txt در پوشه ایجاد کنید (توجه کنید در working tree، نه در پوشه git.؛ محتویات این پوشه جز در مورد برخی فایل‌ها نباید توسط کاربر تغییر کند)
 اکنون دستور زیر را اجرا کنید:
 git status
 همانطور که می‌بینید git نشان می‌دهد فایلی در working tree وجود دارد که تغییرات آن دنبال نمی‌شود:


 برای آن‌که این فایل را در repository ذخیره کنیم همانطور که قبلا گفته شد باید ابتدا آن‌را به index اضافه کنیم این کار با استفاده از دستور زیر انجام می‌شود:
 git add readme1.txt
 حال اگر مجددا دستور status را اجرا کنید می‌بینید که فایل به index یا همان stage اضافه شده‌است.

 اما توجه کنید که کار در این‌جا تمام نشده است برای آن‌که فایل در repository ذخیره شود باید از دستور commit استفاده کرد:
 
git commit
 بعد از اجرای این دستور، git ادیتور پیش‌فرضی را که در پیکربندی قبلا تعیین کردید باز می‌کند تا شما بتوانید توضیحاتی درباره commit خود بنویسید. از این توضیحات بعدا می‌توان به عنوان راهنمایی جهت دنبال کردن تغییرات فایل‌ها استفاده نمود. می‌توان از دستور زیر به منظور اجرای commit و نوشتن پیام آن به صورت همزمان استفاده نمود:
 
git commit -m “commit descriptions”
 بعد از اجرای دستور commit در صورتی‌که دستور status را اجرا نمایید خواهید دید که stage خالی شده و فایل readme1 در repository ذخیره شده است. در بعضی موارد می‌خواهیم چند فایل را همزمان به index اضافه کنیم در این مواقع می‌توان از دستور زیر استفاده کرد:
 git add . 
دستور فوق تمامی فایل‏های تغییر کرده و یا جدیدا اضافه شده در پوشه جاری را به stage اضافه می‏ کند. فایل readme1.txt را باز کرده و در آن تغییری دلخواه را ایجاد کنید. با اجرای دستور status می‌بینید که git به شما نشان می‌دهد فایلی تغییر یافته است. بنابراین برای ثبت تغییرات باید فایل را به stage اضافه کرد. برای اضافه کردن فایل‌های آپدیت شده، علاوه بر دستور add که در بالا گفته شد از دستور زیر نیز می‌توان استفاده کرد:
 git add -u
 سپس دستور commit را اجرا کنید تا تغییرات در repository ثبت شود. با استفاده از دستور زیر می‌توان از دستورات commit، یک log تهیه کرد:
 git log 
همانطور که در شکل زیر می‌بینید، ما دارای دو دستور commit هستیم که هر کدام از این commit‌ها توسط یک کد SHA-1 منحصر به فرد مشخص شده است

 اگر می‌خواهید مشاهده تعداد commitهای ثبت شده را در دستور log محدود کنید از دستورات زیر می‌توانید استفاده کنید:
git log --until [date]
git log --since [date]
git log -[number] 

 چگونگی حذف فایل‌ها:
 تا اینجا با نحوه چگونگی ایجاد فایل‌های جدید و یا ویرایش فایل‌های قدیمی آشنا شدید. برای حذف یک فایل می‌توان به دو صورت عمل کرد:
1) ابتدا فایل را را مستقیما حذف نموده، سپس با استفاده از دستور زیر ابتدا فایل حذف شده را به stage آورده و سپس آن را commit می‌کنیم:
git rm [filename] 
2) دستور فوق را نوشته و سپس آن را commit می‌کنیم. در این حالت خود git مدیریت حذف فایل را به عهده می‌گیرد و آن را حذف می‌کند.
 
چگونگی تغییر نام و یا جابجایی یک فایل:
برای تغییر نام و جابجایی یک فایل نیز مانند حذف، دو روش وجود دارد:
 ۱) ابتدا فایل مورد نظر را تغییر نام داده و یا جابجا می‌کنیم. در این حالت اگر status بگیریم خواهیم دید که git به ما می‌گوید فایلی با نام قبلی حذف شده و فایلی با نام جدید اضافه شده است. یعنی git تشخیص نمی‌دهد که این دو فایل یکی هستند و تنها تغییر نام داده شده است. اما به محض آن‌که فایل اول را با دستور rm حذف و فایل دوم را با دستور add اضافه کنیم، git متوجه می‌شود که این دو فایل در واقع یک فایل تغییر نام یافته هستند. البته در صورتی‌که حداقل ۵۰ درصد فایل دوم با فایل اول شباهت داشته باشد، بعد از انجام عملیات فوق از دستور commit استفاده می‌کنیم.
 ۲) در این روش از دستور زیر استفاده کرده و سپس commit را انجام می‌دهیم:
git mv [firstname][secondname] 
در ادامه مثالی را برای هر دو روش مشاهده خواهید کرد:
روش اول :


روش دوم :

 
  • #
    ‫۱۲ سال و ۱ ماه قبل، سه‌شنبه ۲۱ شهریور ۱۳۹۱، ساعت ۱۸:۱۰
    برای خروج از نتیجه‌ی بعضی دستورات ( مثل log ) ، کلید Q را بزنید .
  • #
    ‫۱۱ سال و ۹ ماه قبل، جمعه ۲۲ دی ۱۳۹۱، ساعت ۰۴:۵۹
    باید همه فایل‌های پروژه رو تو قسمت stage وارد کنیم یا فقط فایل هایی که قراره تغییر بدیم؟
    • #
      ‫۱۱ سال و ۹ ماه قبل، جمعه ۲۲ دی ۱۳۹۱، ساعت ۱۹:۰۱
       شما می‌توانید stage را به عنوان  واسطی بین Working Directory و  Repository تصور کنید بنابراین هر فایلی که می‌خواهد در Repository ذخیره شود ابتدا به stage آورده می‌شود.
  • #
    ‫۹ سال و ۸ ماه قبل، یکشنبه ۱۹ بهمن ۱۳۹۳، ساعت ۱۳:۴۲
    سلام .من git status که میزنم , اسم یکسری فایل رو مینویسه و جلوش مینویسه مثلا" :
    deleted:   foldername1/text1.txt
    deleted:   foldername2/text2.txt 
    من قبلش از add . برای ثبت تغییرات استفاده کرده بودم .. حالا لازمه دستور rm رو هم واسه حذف فایلها استفاده کنم ؟