آشنایی با نحوهٔ‌ ساخت یک ریپازیتوری در گیت‌هاب


در آموزش معرفی برخی از مطرح‌ترین سرویس‌های هاستینگ سورس‌کد گفتیم که برخی سرویس‌های آنلاین هستند که از طریق آن‌ها می‌توان دست به ساخت یک سری ریپازیتوری آنلاین زد تا علاوه بر خودمان،‌ سایر دولوپرها از اقصی نقاط دنیا نیز بتوانند به کدهای ما دسترسی یافته و در صورت تمایل در توسعهٔ پروژه‌ها مشارکت کنند. از آن میان، آنچه در این آموزش قصد داریم انتخاب نموده و مورد استفاده قرار دهیم، سرویس GitHub است.

برای شروع، پس از ثبت‌نام در این سایت و مراجعه به لینک Create a new repository، به سادگی می‌توان نامی دلخواه برای ریپازیتوری خود انتخاب نموده سپس با انتخاب یکی از گزینه‌های Public یا Private می‌توانیم تصمیم بگیریم که آیا این ریپازیتوری می‌باید عمومی بوده و بالتبع برای سایر کاربران قابل‌مشاهده باشد یا یک ریپازیتوری اختصاصی باشد و سایرین برای مشاهده نیاز به پرمیشن خواهند داشت و در نهایت هم با کلیک بر روی دکمهٔ Create repository می‌توان پروسهٔ‌ ساخت ریپازیتوری را نهایی کرد.

به محض کلیک بر روی دکمهٔ‌ فوق،‌ به صفحه‌ای ارجاع داده‌ خواهیم شد که حاوی دیتای مرتبط با ریپازیتوری جدید است که پیش از هر چیز، لینک این ریپازیتوری در معرض دیدمان قرار می‌گیرد و می‌توانیم آن را کپی نماییم. حال برای آن که کلیهٔ‌ دیتای پروژه‌ای که در این دوره تکمیل نمودیم را به ریپازیتوری آنلاینی که تحت عنوان git-tutorial ساختیم پوش (آپلود) نماییم، از کامند زیر استفاده می‌‌کنیم:

/var/www/git-tutorial$ git push https://github.com/behzadmoradi/git-tutorial.git master
Username for 'https://github.com': my.email.address@gmail.com
Password for 'https://my.email.address@github.com': 
Counting objects: 23, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (19/19), done.
Writing objects: 100% (23/23), 2.06 KiB | 263.00 KiB/s, done.
Total 23 (delta 8), reused 0 (delta 0)
remote: Resolving deltas: 100% (8/8), done.
To https://github.com/behzadmoradi/git-tutorial.git
 * [new branch]      master -> master

همان‌طور که ملاحظه می‌شود، ابتدا دستور git را نوشته سپس آدرس ریپازیتوری را پِیست می‌کنیم و در نهایت هم با نوشتن master دستور می‌دهیم که قصد داریم تا کدهای لوکالی که روی سیستم قرار دارند به بِرَنچ مَستر اصطلاحاً Push شوند. به محض اینتر کردن،‌ ابتدا به ساکن نام‌کاربری و رمزعبور گیت‌هاب درخواست شده و در صورتی که به درستی وارد شوند،‌ پروسهٔ پوش آغاز می‌گردد. حال اگر به سایت گیت‌هاب مراجعه کرده و ریپازیتوری خود را رِفرش کنیم، می‌بینیم که کدهای لوکال از این پس روی سرورهای گیت‌هاب نیز قرار دارند و توسط سایر توسعه‌دهندگان قابل‌روئیت هستند.

حال تغییری ساده در یکی از فایل‌های پروژه داده و آن‌ را کامیت می‌کنیم تا ببینیم که مجدد به چه شکل می‌توان تغییرات جدید را روی ریپازیتوری آنلاین‌مان در سرویس گیت‌هاب پوش کرد:

/var/www/git-tutorial$ git add index.html 
/var/www/git-tutorial$ git commit -m "a change made"
[master d2123d4] a change made
 1 file changed, 1 insertion(+)

اکنون نیاز است تا مجدد از دستور push به همراه لینک ریپازیتوری استفاده نماییم اما این در حالی است که به نظر می‌رسد هر دفعه کپی کردن آدرس ریپازیتوری کاری خسته‌کننده باشد و از همین روی می‌توانیم یک به اصطلاح Alias یا «نام مستعار» برای ریپازتوری خود به صورت زیر بسازیم:

/var/www/git-tutorial$ git remote add origin https://github.com/behzadmoradi/git-tutorial.git

همان‌طور که ملاحظه می‌شود،‌ طبق روال ابتدا دستور git را نوشته سپس از کیورد remote استفاده کرده‌ایم که به ریپازیتوری‌های ریموت (آنلاین) اشاره دارد سپس از دستور add استفاده کرده و نام مستعاری تحت عنوان origin که نام مستعار پیش‌فرض در سرویس‌های آنلاینی همچون گیت‌هاب برای ریپازیتوری‌ها است استفاده کرده و در نهایت آدرس ریپازیتوری را درج نموده و اینتر می‌‌کنیم به طوری که از این پس در پروسهٔ پوش کردن فایل‌های تغییریافته، به جای نوشتن آدرس کامل ریپازیتوری، می‌توان از نام مستعار origin به صورت استفاده نمود:

/var/www/git-tutorial$ git push origin master 
Username for 'https://github.com': my.email.address@gmail.com
Password for 'https://my.email.address@gmail.com@github.com': 
Counting objects: 3, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 380 bytes | 380.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0)
remote: Resolving deltas: 100% (1/1), completed with 1 local object.
To https://github.com/behzadmoradi/git-tutorial.git
   46e51f6..d2123d4  master -> master

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

آنچه تا این مرحله مورد بررسی قرار دادیم در شرایطی که بود که ابتدا به ساکن اقدام به تکمیل یک پروژه به صورت لوکال کرده سپس آن را به سرویس آنلاینی همچون گیت‌هاب منتقل کردیم اما در عین حال برخی مواقع پیش می‌آید که تمایل داریم تا اول اقدام به ساخت ریپازیتوری آنلاین کرده سپس آن را روی سیستم لوکال خود دریافت نموده و شروع به کار روی آن نماییم که در ادامه این روش را نیز مورد بررسی قرار خواهیم داد.

این بخش از محتوا مخصوص کاربرانی است که ثبت‌نام کرده‌اند.
جهت مشاهدهٔ این بخش از محتوا لاگین نمایید.

جمع‌بندی
در این آموزش فرا گرفتیم که به چه شکل می‌توان در سایت معروف گیت‌هاب اقدام به ساخت یک ریپوی پابلیک (عمومی) کرد و در ادامه به بررسی مفهوم کلونینگ پرداختیم که از آن طریق می‌توان یک ریپازیتوری آنلاین را روی سیستم لوکال خود دریافت نموده و تغییر داد.


لیست نظرات
کاربر میهمان
دیدگاه شما چیست؟
کاربر میهمان