در مطلب «
کار با یک مخزن کد GitHub از طریق VSCode»، نحوهی Clone یک مخزن کد از پیش موجود در GitHub را بررسی کردیم. گردش کاری دیگری را که میتوان درنظر گرفت، داشتن یک مخزن کد محلی و سپس ارسال آن به یک مخزن کد جدید در GitHub است.
ایجاد یک مخزن کد محلی جدید توسط VSCode
فرض کنید پوشهای را با ساختار ذیل داریم:
وجود فایل gitignore. را در حین کار با Git و ارسال پروژه به مخازن کد فراموش نکنید. این فایل سبب خواهد شد تا بسیاری از پوشههایی که نباید ارسال شوند (مانند پوشههای bin یا packages و امثال آن)، به صورت خودکار ندید گرفته شوند.
در ادامه برای افزودن این پوشه به یک مخزن کد محلی تنها کافی است به برگهی Git آن مراجعه کرده و بر روی دکمهی Initialize repository کلیک کنیم:
البته این دستور در منوی ctrl+shift+p هم با جستجوی git ظاهر میشود:
پس از آغازن مخزن کد محلی، توضیحاتی را نوشته و سپس بر روی دکمهی commit کلیک میکنیم تا این تغییرات با آن هماهنگ شوند:
ارسال مخزن کد محلی به GitHub از طریق VSCode
در ادامه میخواهیم این مخزن کد محلی را به یک مخزن کد جدید در GitHub ارسال کنیم. به همین منظور یک مخزن کد جدید را در GitHub آغاز کرده و گزینهی «Initialize this repository with a README » را انتخاب نمیکنیم:
در صفحهی بعدی که ظاهر میشود، دو دستور آن مهم هستند:
…or push an existing repository from the command line
git remote add origin https://github.com/VahidN/test-vscode.git
git push -u origin master
در VSCode، با فشردن دکمههای Ctrl+back-tick، کنسول خط فرمان را گشوده و دو دستور فوق را به ترتیب اجرا کنید. این دستورات سبب خواهند شد تا مخزن کد محلی، به مخزن کد GitHub متصل شده و همچنین تغییرات آن به سمت سرور ارسال و با آن هماهنگ شوند.
اکنون اگر به مخزن کد GitHub مراجعه کنیم، میتوان این هماهنگی و ارسال فایلها را مشاهده کرد:
یک گردش کاری دیگر: هم مخزن کد محلی و هم مخزن کد GitHub دارای فایل هستند
فرض کنید مخزن کد GitHub شما هم اکنون دارای تعدادی فایل است و مانند مثال فوق، از ابتدا و بدون افزودن فایلی به آن ایجاد نشدهاست. همچنین مخزن کد محلی نیز دارای تعدادی فایل است (Initialize repository شدهاست) و نمیخواهیم از روش Clone مطلب «
کار با یک مخزن کد GitHub از طریق VSCode» استفاده کنیم.
در اینجا نیز با فشردن دکمههای Ctrl+back-tick، کنسول خط فرمان را گشوده و همان سطر اول git remote add origin را اجرا میکنیم:
git remote add origin https://github.com/VahidN/test-vscode.git
اما باید دقت داشت که اینبار دستور دوم رال که push است، نمیتوانیم اجرا کنیم (چون سرور ریموت دارای فایل است). در اینجا برای هماهنگی با سرور ابتدا باید دستور pull را صادر کنیم:
git pull origin master --allow-unrelated-histories
به این ترتیب فایلهای سرور دریافت شده و به پروژهی جاری اضافه میشوند.
همچنین برای هماهنگی تغییرات محلی بعدی با سرور (عملیات push) باید ابتدا branch را تنظیم کرد:
git branch --set-upstream-to=origin/master master