کانال بله, جهت پشتیبانی و اطلاع رسانی کانال بله, جهت پشتیبانی و اطلاع رسانی
عضویت

Clone کردن از GitHub

Git Clone از مخزن های GitHub


Clone کردن یک مخزن Fork شده از GitHub


در این مرحله مخزن fork شده مان تنها در GitHub موجود است. اما قصد داریم آن را در local Git خود clone کنیم تا بتوانیم بر آن تغییرات ایجاد کنیم.


Clone یک کپی کامل از repository، شامل تمامی فایل های logging و نسخه ها، میباشد.


به repository اصلی رفته و بر کلید سبز رنگ “Code” کلیک کنید را یک URL برای clone دریافت کنید:


clone کردن در GitHub

Git bash خود را باز کنید و repository را clone کنید:


git clone https://github.com/w3schools-test/w3schools-test.github.io.git
Cloning into 'w3schools-test.github.io'...
remote: Enumerating objects: 33, done.
remote: Counting objects: 100% (33/33), done.
remote: Compressing objects: 100% (15/15), done.
remote: Total 33 (delta 18), reused 33 (delta 18), pack-reused 0
Receiving objects: 100% (33/33), 94.79 KiB | 3.16 MiB/s, done.
Resolving deltas: 100% (18/18), done.

               

به file system خود نگاهی بیندازید، خواهید دید که یک directory جدید با نام پروژه clone شده تان موجود است:



ls
w3schools-test.github.io/

               
توجه:

برای clone کردن در فولدری مشخص، نام فولدر را پس از URL قرار دهید: مثلا

git clone https://github.com/w3schools-test/w3schools-test.github.io.git myfolder
               

به directory جدید بروید و وضعیت را بررسی کنید:


git clone https://github.com/w3schools-test/w3schools-test.github.io.git myfolder
               

و log را بررسی کنید تا از وجود تمامی داده های repository اطمینان حاصل کنید:


git log
commit facaeae8fd87dcb63629f108f401aa9c3614d4e6 (HEAD -> master, origin/master, origin/HEAD)
Merge: e7de78f 5a04b6f
Author: w3schools-test  Date: Fri Mar 26 15:44:10 2021 +0100 Merge branch 'master' of https://github.com/w3schools-test/hello-world commit e7de78fdefdda51f6f961829fcbdf197e9b926b6 Author: w3schools-test Date: Fri Mar 26 15:37:22 2021 +0100 Updated index.html. Resized image .....

               

حالا یک کپی کامل از repository اصلی را در اختیار داریم.


تایید Remote ها


در این مرحله ما یک کپی کامل از یک repository داریم، اما اجازه ایجاد هیچ گونه تغییری در repository اصلی نداریم.


remote های این Git به این شکل است:


git remote -v
origin  https://github.com/w3schools-test/w3schools-test.github.io.git (fetch)
origin  https://github.com/w3schools-test/w3schools-test.github.io.git (push)

               

مشاهده میشود که origin ، مخزن اصلی “w3schools-test” قرار داده شده است. همچنین میخواهیم fork خود را نیز اضافه کنیم.


ابتدا باید نام origin remote را تغییر دهیم:


git remote rename origin upstream
git remote -v
upstream        https://github.com/w3schools-test/w3schools-test.github.io.git (fetch)
upstream        https://github.com/w3schools-test/w3schools-test.github.io.git (push)

               

و سپس URL، fork خود را fetch کنیم:


دریافت URL  مخزن fork شده

و آن را origin قرار دهیم :


git remote add origin https://github.com/kaijim/w3schools-test.github.io.git
git remote -v
origin  https://github.com/kaijim/w3schools-test.github.io.git (fetch)
origin  https://github.com/kaijim/w3schools-test.github.io.git (push)
upstream        https://github.com/w3schools-test/w3schools-test.github.io.git (fetch)
upstream        https://github.com/w3schools-test/w3schools-test.github.io.git (push)

               
توجه:

با توجه به قرار داد های نام گذاری Git، توصیه میشود که repository خود را origin و مخزنی که fork شده است را upstream نام گذاری کنید.


حالا دو remote داریم:


  • Origin - fork خودمان، که میتوانیم آن را بخوانیم و بر آن بنویسیم
  • upstream - مخزن اصلی، که تنها میتوانیم آن را بخوانیم

در مقاله بعد به سراغ ایجاد تغییرات در کد رفته و به شما می آموزیم که چگونه این تغییرات را برای repository اصلی نیز پیشنهاد کنید.


1400/05/11 10128 488
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...