راهنمای جامع GitHub برای دانشمندان داده

GitHub چیست؟
Github یک پلت فرم میزبانی کد برای همکاری و کنترل نسخه است.
این برنامه کدگذاری اجتماعی را با ارائه یک سرویس میزبانی و رابط وب برای مخزن کد git تسهیل می کند.
کنترل نسخه چیست؟
این تمرین ردیابی و مدیریت تغییرات در کد نرم افزار است.
نرم افزار کنترل نسخه، هر تغییری در کد را در نوع خاصی از پایگاه داده پیگیری می کند.
Git یک کنترل نسخه است.
سیستم کنترل نسخه یک کد هش منحصر به فرد را برای هر تغییری که در کد منبع انجام می شود اختصاص می دهد.
مزایای کنترل نسخه
- ردیابی تاریخچه
- ردیابی تاریخچه مشارکتی
شرایط Github
نصب git روی لینوکس
sudo apt install git-all
اگر در سیستم دیگری هستید اینجا را بررسی کنید
پیکربندی کاربر
نام کاربری را برای مخازن محلی تنظیم کنید
git config --global user.name "[username]"
ایمیل را تنظیم کنید تا به commit ها پیوست شود
git config --global user.email "[email]"
رمز عبور را تنظیم کنید
git config --global user.password "[password]"
مخزن
مخزن یک مکان متمرکز در Git است که در آن فایل ها و تاریخچه نسخه آنها ذخیره می شود.
به معنای دیگر، این دایرکتوری است که شامل تمام فایلها و زیرمجموعههای مرتبط با یک پروژه، به همراه کل تاریخچه ویرایش هر فایل است.
شاخه
شاخه یک نسخه موازی از یک مخزن است.
شاخه پیش فرض فراخوانی می شود master
هر شاخه دیگری کپی از شاخه اصلی در یک زمان خاص است.
هر شاخه شامل تغییراتی است که با پایگاه کد اصلی یعنی شاخه اصلی متفاوت است
مزایای استفاده از شاخه ها
- توسعه موازی بدون ایجاد اختلال در پایگاه کد اصلی
- این همکاری بین تیم ها را تسهیل می کند
متعهد می شود
اینها به تغییرات یک مخزن اشاره دارد.
هر commit یک توضیح/پیام دارد که چرا یا چه تغییری ایجاد شده است.
درخواست ها را بکشید
آنها برای ایجاد همکاری یکپارچه بسیار مفید هستند.
با درخواست کشش شما پیشنهاد می کنید که تغییرات شما باید با شاخه اصلی ادغام شوند.
آنها تفاوت محتوا، تغییر، جمع و تفریق در رنگ ها (قرمز و سبز) را نشان می دهند.
درخواستهای کششی توسط مالک مخزن یا بازگوکننده کد به شعبه اصلی ادغام میشوند
رویدادهای Github
اکنون که مروری مختصر از Github داریم، اجازه دهید به برخی از رویدادها بپردازیم:
- ایجاد و حذف یک مخزن
- فشار دادن یک کد به یک مخزن
- ایجاد شعبه
- باز و بسته کردن درخواست کشش
- بررسی کد
- ادغام
- مسائل باز و بسته شدن
- تعیین مسائل
ایجاد یک مخزن
ایجاد یک مخزن مستعار repo
دو راه برای ایجاد مخزن وجود دارد
- رابط کاربری github
- ایجاد از یک پوشه
آ. مخزن از رابط کاربری github
از github روی دکمه سبز در بالا سمت چپ کلیک کنید
ب مخزن از یک پوشه
ممکن است بخواهید یک پوشه موجود در دستگاه محلی خود را به یک مخزن تبدیل کنید.
در ترمینال به پروژه موجود که می خواهید ردیابی را شروع کنید بروید.
سپس دستور زیر را وارد کنید تا یک پوشه به عنوان مخزن مقداردهی اولیه شود.
بنابراین یک مخزن جدید در دایرکتوری فعلی ایجاد می کند.
سپس از دستور استفاده می کنید
git add .
این دستور برای افزودن همه تغییرات در دایرکتوری فعلی و زیرمجموعه های آن به ناحیه مرحله بندی (منطقه ذخیره سازی موقت در Git که در آن می توانید تغییرات را برای تعهد به مخزن آماده کنید) استفاده می شود.
در عوض اگر میخواهید فایلهای انتخابی را commit کنید، میتوانید به جای آن git add .
استفاده کنید:
git add filename
دستور یک فایل به نام filename را به قسمت مرحله بندی اضافه می کند
یا
git add file1 file2
پوشاندن چندین فایل
برای اعمال تغییرات در ناحیه مرحله بندی به مخزن مورد استفاده ما git commit
فرمان مثال:-
git commit -m "first commit in the repository"
را -m
گزینه به شما امکان می دهد پیامی را برای یک commit مشخص کنید.
این اغلب به عنوان خلاصه ای از تغییرات ایجاد شده استفاده می شود.
مزایای یک پیام commit خوب
- وضوح تغییرات ایجاد شده را افزایش دهید
- به عنوان یک رکورد تاریخی از تغییرات ایجاد شده عمل می کند
- همکاری بین اعضای تیم را تسهیل می کند
- به اشکالزدایی کمک میکند، زیرا به شناسایی تغییراتی که باعث خطاها/اشکالها شدهاند کمک میکند
- یک پیام commit می تواند به عنوان مستند برای تغییرات کد عمل کند
حالا بیایید نام فعلی را تغییر دهیم شاخه به اصلی
git branch -M main
این دستور فقط شاخه فعلی را به main تغییر نام می دهد.
شاخه پیش فرض است master
حالا بیایید یک مخزن از راه دور جدید به نام اضافه کنیم origin
به مخزن git محلی.
git remote add origin git@github.com:usename/new_repo
اکنون تغییرات خود را به مخزن راه دوری که به آن نامگذاری شده است فشار می دهیم origin
git push -u origin main
اگر می خواهید یک مخزن را از github به دستگاه محلی خود شبیه سازی کنید
می توانید از دستور استفاده کنید:
git clone url/to/the/repo
این یک دایرکتوری با همان نام مخزن شما با محتوای پروژه نیز ایجاد می کند
دنبال کردن جریان Github
یک شعبه ایجاد کنید
یک شعبه در مخزن خود ایجاد کنید.
دو راه برای ایجاد یک شعبه در مخزن شما وجود دارد
- از رابط github
- از ترمینال
ایجاد شعبه از رابط github
روی منوی کشویی سمت چپ صفحه خود کلیک کنید
نام شعبه خود را بنویسید
سپس بر روی قسمت کلیک کنید ایجاد شعبه:
یک شعبه از ترمینال ایجاد کنید
شاخه فعلی را با استفاده از دستور بررسی کنید
git branch
با استفاده از دستور یک شاخه جدید ایجاد کنید
git branch <branch_name>
حالا با استفاده از دستور به شاخه جدید سوئیچ کنید
git checkout <branch_name>
یا
git checkout -b <branch_name>
اکنون به جای شاخه اصلی/مستر، در شعبه جدید تغییراتی ایجاد می کنید.
برای فهرست کردن شاخه های موجود در مخزن
git branch --list
می توانید تغییرات خود را به شعبه انجام دهید و فشار دهید
همچنین میتوانید در صورت بروز اشتباه، آن را برگردانید
حذف شعبه
برای حذف یک شاخه از دستور استفاده می کنید
git branch -d [branch-name]
یک درخواست کشش ایجاد کنید
ایجاد یک درخواست کششی به خصوص در یک محیط همکاری حیاتی است.
برخی از درخواستهای کششی قبل از ادغام نیاز به تأیید دارند.
هنگامی که یک درخواست کشش ایجاد می کنید، خلاصه ای از تغییرات و مشکلی که آنها حل می کنند را درج کنید.
در رابط وب github
به صفحه اصلی مخزن بروید
در منوی شاخه، شاخه ای را انتخاب کنید که شامل commit های شما است
کلیک کنید New pull request
می توانید شاخه ای را که می خواهید برای آن درخواست کشش ایجاد کنید، انتخاب کنید
اگر مشکلی ندارید می توانید روی آن کلیک کنید Create pull request
دکمه grren
سپس صاحب مخزن یا بازبینی کننده کد درخواست کشش را بررسی کرده و آن را به شعبه اصلی ادغام می کند.
درخواست کشش را با استفاده از CLI ایجاد کنید
برای ایجاد یک درخواست کشش ما از
gh pr create --assignee "@username"
یا می توانید از “@me” برای اختصاص درخواست کشش استفاده کنید
همگام سازی تغییرات
برای همگام سازی مخزن محلی خود با مخزن راه دور در Github
git fetch
تمام تاریخچه را از شاخه های ردیابی از راه دور دانلود می کند
git ادغام
این شاخه ردیابی از راه دور را در شاخه محلی فعلی ترکیب می کند
git push
تمام تعهدات شعبه محلی را به Github آپلود می کند
git pull
شعبه کاری محلی فعلی شما را با تعهدات جدید از شعبه راه دور مربوطه به روز می کند
ترکیبی است از git fetch
و git merge
انجام تغییرات
برای فهرست کردن تاریخچه نسخه برای شاخه فعلی از دستور استفاده کنید
git log
برای فهرست کردن تاریخچه نسخه برای یک فایل، از جمله تغییر نام
git log --follow [file]
برای نشان دادن تفاوت محتوایی بین دو شاخه
git diff [first_branch] ... [second_branch]
عکس های فوری از فایل در حال آماده سازی برای نسخه
git add [file]
انجام مجدد متعهد می شود
برای لغو همه تعهدات بعد از [commit]، حفظ تغییرات به صورت محلی
git reset [commit]
برای حذف تمام تاریخچه و تغییرات به commit مشخص شده
git reset --hard [commit]