آموزش مقدماتی گیت

Git چیست ؟

گیت یک سیستم کنترل ورژن VCS(Version Control System) یا یک سیستم مدیریت منبع میباشد SCM(Source Control Management System)

گیت یکی از مشهورترین VCS یا SCM متن باز جهان است ، در واقع VCS , SCM پلتفرمی برای همکاری دولوپرهاست که به دولوپرها دیزاینرها و… این اجازه را میده که از سرس کدها ، داکیومنت ها و … بک آپ بگیرن و این بک آپ ها می تونه ورژن های متفاوتی داشته باشه .

گیت به ما این امکان میده که یک ریپازیتوری بسازیم ، و ریپازوتوری یک ماشین لوکال یا یک ریموت سرور است که داده های ما در آن ذخیره میشه.

گیت اجازه همکاری دولوپرها با هم رو می ده ، می تونید کد تونو با بقیه به اشتراک بزارید

چگونگی نصب گیت در ویندوز :

به  این آدرس  بروید و بر روی گذیه دانلود کلیک کنید

آموزش Git
آموزش Git

، سپس بر روی ویندوز کلیک کنید

آموزش Git
آموزش Git

و در آخر ورژن 32 یا 64 بیت را انتخاب و دانلود کنید .

آموزش Git
آموزش Git

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

آموزش Git
آموزش Git

این قسمت در مورد لایسنس برنامه است ، میتوانید آن را مطالعه کنید یا اگر مایل نیستید ، کلید next را بزنید :

کامپننت هایی را که مایلید نصب شود را انتخاب کنید

آموزش Git
آموزش Git

سپس دکمه نکست را بزنید

آموزش Git
آموزش Git

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

سپس گذینه next  را کلیک کنید تا به مرحله بعدی بروید

آموزش Git
آموزش Git

در این مرحله گذینه از پیش انتخاب شده مناسب است و گذینه next را بزنید .

وقت آن است که گیت را  پیکربندی کنیم ،

آموزش Git
آموزش Git

در این قسمت از شما می خواهد تعیین کنید کدام امولیتور ترمینال برای شما اجرا شود ، گدینه ای که خودش پیشنهاد داده مناسب است ، next  بزنید.

آموزش Git
آموزش Git

در این قسمت من فایل سیستم کشینگم را فعال می کنم ، می توانید آن را غیر فعال کنید . بعد از این گذینه گیت شروع به نصب شدن می کند .

در قسمت بعد در مورد پیکربندی گیت با شما صحبت خواهم کرد.

پیکربندی گیت

حالا وقت آن است که گیت را پیکر بندی کنیم ، گیت را باز کنید .

با دستور pwd می توانید بفهمید در کدام دایرکتوری هستید ، خوب من در home دایرکتوری هستم

pic10Git

بیاید یک دایرکتوری بسازیم ، و اسم آن را my-git  قرار دهیم ،

pic11Git

با دستور mkdir سپس نام پوشه ، می توانید پوشه مورد نظر را بسازید ، سپس دستور cd و بعد نام پوشه وارد آن پوشه شوید ، این پوشه روت ما برای تمام پروژه های ما خواهد بود.

اگر گیت را تازه نصب کرده اید پس کانفیگ نشده ، بیاید اول با هم چک کنیم سپس با هم کانفیگش کنیم .

برای چک کردن پیکر بندی می توانید از دستور git config –global –list استفاده کنید .

خوب اول یک یوزرنیم ایجاد کنیم ، برای این کار :

git config –global user.name “user name del khah ra vared konid”

با دستور بالا می تونید یوزرنیم را تعیین کنید..

حالا وقت کانفیگ email است :

git config –global –email “email khod ra vared konid”

خوب حالا برای اینکه ببیند آیا یوزرنیم و ایمیل شما ثبت شده است یا نه یک بار دیگر دستور

git config –global –list  را وارد کنید ، باید چیزی مشابه تصویر زیر ببینید .

Pouria@DESKTOP-7O82FF9 MINGW64 ~/my-git

$ git config –global –list

user.name=Pouria Parhami

user.email=info@darkoobweb.com

Pouria@DESKTOP-7O82FF9 MINGW64 ~/my-git

$

اگر می خواهید فایلی که پیکربندی در آن ایجاد شده را ببینید می توانید دستور زیر را وارد کنید :

vi ~/.gitconfig

این فایلی است که در home دایرکتوری یوزر ایجاد شده است و تمام اطلاعات کانفیگ شده در آن است.

با دستود :q می توانید از فایل خارج شید.

چگونه پروژه ای را که نوشته ایم و ورژن ندارد در گیت ذخیره کنیم ؟

برای تست می توانید به آدرس http://www.initializr.com/  برید و یک پروژه برای خودتون بسازید و دانلود کنید .

ما نیاز داریم از پروژه مون یک کپی در my-git بسازیم برای این کار دستور cp را به همراه مسیری که پروژه در آن است وارد می کنیم

cp  /d/darkoobweb/dkdrbooking.zip  .

برای اینکه ببینید فایل کپی شده است یا نه می توانید از دستور

ls –l dkdrbooking.zip استفاده کنید، حال بیاید فایل را آنزیپ کینم ، با دستور unzip dkdrbooking.zip

اگر دقت کرده باشید فایل های من در فایلی به نام dkdrbooking ذخیره شده اند ، اکنون می توانید فایل

Zip را حذف کنید چون دیگر به آن نیازی نداریم ، با دستور rm dkdrbooking.zip

اگر از نام فولدر خوشتون نمیاد می تونید با دستور  mv  name ghabli/  name jaded نام را تغییر دهید بین / و نام جدید فاصله وجود دارد دقت کنید .

وارد فولدر پروژتون بشید ، با دستور cd

cd  name fulder

اگر می خواهید چک کنید که تمام پوشه های پروژه شما به درستی آنزیپ شده اند دستور ls –l را اجرا کنید. تمامی فایلها و فولدر ها به شما نمایش داده می شود ، پروژه شما هنوز unversionاست ، دستور

git init را وارد کنید ، این دستور باعث می شود git برای شما یک ریپازیتوری خالی ایجاد کند ، برای دیدن این ریپازیتوری از دستور ls –al استفاده کنید ، در میان پوشه های قبلی که دیدی پوشه ای به نام گیت خواهید دید .

و به این شکل یک پروژه unversion را به گیت ریپازیتوری دایم.

چگونه از git help استفاده کنیم ؟

کافیست دستور git help را وارد کنید

pic12Git

برای دست رسی به git guides دستور git help –g را وارد کنید

pic13Git

فرض کنید می خواهیم به یکی از guides راهنما ها دست رسی داشته باشیم ، به طور مثال glossary کافیست درستور git help glossary  را وارد کنید ، بعد از چند لحظه پنجره مرورگر شما باز شده و اطلاعاتی در باره glossary  به شما می دهد.

pic14Git

 

و برای دریافت اطلاعاتی در باره init می توانید دستور git help init را وارد کنید .

 

pic15Git

 

در قسمت بعد به شما خواهم گفت چگونه یک ریپازیتوری خالی را برای اولین بار مقدار دهی کنید.

چگونه یک ریپازیتوری خالی را برای اولین بار مقدار دهی کنیم ؟

خوب برای شروع کار به پوشه ای که برای پروژهای خود ساختید برید ، اگر به یاد داشته باشید اسم پوشه من ، my-git بود

حالا یک پوشه جدید در آن ایجاد می کنیم به نام fromScratch پس تایپ می کنیم mkdir fromScratc

با دستور cd وارد دایرکتوری که ساختید بشید ،  حالا از گیت می خوایم تا برامون یک ریپازیتوری بسازه ، دستور git init را وارد کنید ، گیت به شما خواهد گفت که یک ریپازیتوری خالی ساختم …

حالا اگر دستود ls –l راوارد کنید می بینید پوشه ای به نام git ساخته شده است ، خوب بیاید چندتا فایل براش درست کنیم ، با استفاده از دستور echo

echo “salam man avalin file text hastam “>>avalin.txt

به این شکل شما یک فایل تکست با محتوای salam man avalin file text hastam را خواهید ساخت ، برای اینکه ببینید این فایل ایجاد شده است یا نه می توانید دستور ls را وارد کنید .

برای دیدین محتوای فایل می توانید از دستور cat به همراه نام فایل استفاده کنید .

pic16Git

بیاید یک فایل دیگر بسازیم ،البته این بار با دستور vi ، دستور vi myViFile.txt را وارد کنید .

pic17Git

یک فایل خالی ایجاد شده است ، بیاید این فایل را پرکنیم ، دکمه i را فشار دهید و شروع کنید به تایپ کردن برای خروج دکمه esc را بزنید و سپس دستور :wq را وارد کنید ، :wq به معنی خروج و ذخیره سازی است.

pic18Git

با دستور cat  مانند دفعه قبل چک کنید آیا فایل شما محتوای مورد نظر را گرفته است یا خیر.

pic19Git

خوب شما با دو تکنیکک برای ساخت git repository  آشنا شدید یکی ساخت گیت برای پروژه ای که داشته ایم و یکی ساخت گیت برای شروع کار بدون هیچ سرس کد یا فولدری ، حالا تکنیک سوم یعنی استفاده از github

در قسمت بعد در مورد گیت هاب صحبت خواهیم کرد.

چگونه در گیت ریپازیتوری تغییراتی را اعمال کنیم ؟؟؟

برای این کار ایتدا گیت بش خود را باز کنید ، سپس وارد پوشه روت پروژه های خود بشید ، برای من my-git

خوب بیاید ببینیم چه چیز هایی در فایل روت ما قرار داره برای این کار از دستور ls استفاده می کنم .

من 3 تا ریپازیتوری دارم ، حتما به یاد دارید apm که از GitHub گزفتم ، fromScratch و doktorbookingwordpressplugin

pic26Git

وارد fromScratch  بشید که با هم ساختیم ، اگر به یاد داشته باشید 2 فایل داخلش ساختیم ، بیاید با دستور rm آن دو فایل را پاک کنیم .

pic27Git

همان طور که می بینید من این دوفایل را پاک کردم و برای اطمینان با دستور ls داخل پوشه را چک کردم .

حالا با دستور vi فایل جدیدی به نام darkoobweb1 ایجاد می کنم ، اگر به خاطر ندارید

vi darkoobweb1 سپس وارد محیط ویرایشگر میشید ، برای نوشتن متن ، دکمه i را فشار دهید ، متن دلخواه را تایپ کنید ، کلید esc را بزنید ، سپس :wq را وارد کنید تا فایل و محتوای درون ان ذخیره شود.

با دستور cat اطمینان یابید که محتوای فایل شما ذخیره شده است ، cat name file shoma

قبل از اینکه بخوام از دستور add استفاده کنم ، بیاید ببینیم در کدام وضعیت هستیم ؟ دستور git status را وارد کنید شکلی مشابه شکل زیر خواهید دید .

pic28Git

ما چنین اطلاعاتی را دریافت می کنیم ، در on branch master و darkoobweb1 ، untracked file است .

منظور ازuntrackt file  چیست ؟

یعنی این فایل توسط گیت مسیر یابی نمی شه دنبال نمی شه و می بینید که با رنگ قرمز مشخص شده ، خود گیت نیز در خط آخر گفته از git add استفاده کنید تا این فایل track بشه .

پس بیاید از دستور git add استفاده کنیم :

pic29Git

می بینید که از git add استفاده کردم و برای اینکه اتمینان یابم دوباره دستور git status را اجرا کردم ، همان طور که می بینید می توانیم به مرحله بعد برویم یعنی فایل را کامیت کنیم ، هم چنین اگر می خواهید به مر حله قبل برگردید می توانید از دستوری که به شما نمایش داده استفاده کنید ، یعنی rm – – cached darkoobweb1 .

خوب پس بیاید کامیت کنیمش  ،

pic30Git

همان طور که می بینید ، بعد از دستور گیت کامند یک –m و یک متن تایپ کردم ، هر کامیت داری یک آیدی و یک پیغام است ، در تصویر برای شما مشخص کردم.

اگر دوباره دستور git status  را وارد کنید تصویر زیر را مشاهده خواهید کرد که می گوید همه چیز پاکه و چیزی برای کامیت کردن نیست ، خوب ما یک فایل ساختیم ، توش چیزی نوشتم و اونو کامیت کردیم ، به همین راهتی .

pic31Git

 

در قسمت بعد خواهید دید چگونه میتوانیم وضعیت گیت ریپازیتوری را چک کنیم ؟

چگونه وضعیت گیت ریپازیتوری را چک کنیم ؟

گیت بش را باز کنید و وارد پوشه روت پروژه های خود شودید ، برای من my-git ،سپس وارد fromscratch بشید که باهم ساختیم ، حالا اگر با دستور git status وضعیت را چک کنید می بینید که فایلی برای کامیت وجود ندارد ، من 3 فایل به نام های darkoobweb2 darkoobweb3  و darkoobweb4 می سازم ، دارکوب وب دو را کامیت می کنم اما دوتای دیگر را نه ، حالا بیاید وضعیت را چک کنیم ، می بینید که گیت به ما نام دارکوب وب 3 و 4 را نشان می دهد و میگوید ، این دو فایل untrack  هستند.

pic32Git

دارکوب وب 3 را اد می کنم ، حالا وضعیت را با دستور git status –s چک می کنم ، می بینید که یک A بزرگ و؟؟  در کنار داکوب وب 3 و دارکوب وب 4 چاپ شده است ، A به این معنی است که فایل ما add شده و علامت ?? ها به این معنی است که فایل توسط گیت track  نشده و untrack  است.

pic33Git

حال بیاید در دارکوب وب 3 تغییری ایجاد کنیم ، من این فایل را با دستور vi باز می کنیم و متن دیگری زیر متن قبلی اضافه می کنم ، سپس فایل را ذخیره می کنم .

حالا وضعیت را چک کنید ، می بینید که M کنار دارکوب وب 3 آمده است ، M به این معناست که فایل تغییر کرده است ، اما باید این تغییر نیز add و commit شود .

pic34Git

چگونه تاریخچه کامیت ها را چک کنیم  ؟

بیاید یک فایل به نام Hooman  ایجاد کنیم و به آن محتوا بدهیم ، خوب حالا دستور  git log را وارد کنید ، می بینید که تاریخ چه ای از کامیتهای من را نمایش می دهد .

pic36Git

اگر می خواهید تاریخچه فایل خواصی را ببینید ، میتوانید از دستور git log esme file استفاده کنید.

اگر بخواهم دو کامیت آخر را ببینیم ، می توانیم از git log –n 2 –oneline استفاده کنید.

pic37Git

 

شاخه های گیت :

خوب وارد پوشه اصلی پروژه ها شوید سپس وارد fromscratch شوید که باهم ساختیم ، اگر دقت کنید ، گیت به شما می گوید که در شاخه اصلی و در ریپازیتوری frimscratch هستید.

برای ساخت یک شاخه دیگر می توانید از درستور git branch esm استفاده کنید و برای رفتن به شاخه ساخته شده از دستور git checkout esm beranch استفاده کنید .

معمولا شاخه هایی که ایجاد می شوند اینها هستند :

Release ,Development,feature

در قسمت بعد درمورد pull و push  صحبت خواهیم کرد.

Pull و push کامند :

Pull :

فرض کنید ریپازیتوری که در گیت هاب است تغییری کرده ، برای اینکه ریپازیتوری لوکال ما نیز تغییر کنید کافیست وارد ریپازیتوری لوکال خود شوید ، سپس دستور git pull origin master را وارد کنید به این شکل تغییرات برای ریپازیتوری لوکال شما اعمال می شود.

pic38Git

در تصویر بالا می بنید که ریپازیتوری من بروز است و چیزی برای بروز رسانی وجود ندارد.

Push :

خوب اگر در لوکال ریپازیتوری خودتون تغییری بوجود آوردید و می خواید این تغییر در ریموت ریپازیتوری نیز اعمال بشه باید از دستور push  به شکل زیر استفاده کنید .

Git push origin master

بعد ورود این دستور یوزنیم و پسورد گیت هاب شما خواسته می شود .

pic39Git

تغییرات اعمال خواهد شد .

 

کار با SSH :

برای ساخت کلید public , private به پوشه روت رفته ، برای من my-git سپس دستور ssh-keygen –t rsa –b 4096 –C “my key”

را وارد کنید ،  بعد از –t  باید مشخص کنید از چه نوع کلیدی می خواهید استفاده کنید rsa  یا dsa

-b طول کلید را مشخص میکند ، می تواند 2048 باشد یا 4096

-C برای ایجاد یک کامنت است ، در مواردی که چندین کلید دارید این کامنت بسیار مفید خواهد بود.

بعد از این که دستور بالا را وارد کردید ، از شما خواسته می شود محلی برای ذخیره سازی کلید پرایویت تعیین کنید ، من از آدرس و نام دیفالت که پیشنهاد شده استفاده می کنم

در قسمت بعد می توانید passphrase برای امنیت بیشتر ایجاد کنید ، من این کار را نمی کنم ، پس آن را خالی می گذارم.

در آخر پابلیک کی و پراویت کی شما ایجاد شده ، محل ذخیره سازی آنها و… برای شما به نمایش در می آید .

pic40Git

در قسمت بعد به شما خواهیم گفت

چگونه کلید ssh خود را به اکانت گیت هاب خود اضافه کنید.

چگونه کلید ssh خود را به اکانت گیت هاب خود اضافه کنیم ؟

برای این کار ابتدا کلید را کپی کنیدمن توسط کامند لاین این کار را انجام میدهم :

Clip <~/.ssh/id_rsa.pub

با این دستور پابلیک کی خود یک کپی گرفتیم ، حالا وارد اکانت گیت هاب خود شوید سپس با استفاده از منوی کوچک سمت راست ستینگ را باز کنید ، در منوی سمت چپ ssh and gpg keys زا انتخاب کنید .

pic41Git

یک تایتل انتخاب کنید و سپس کلید را در قسمت key وارد کنید و کلید add ssh key را بزنید ، در این حالت git hub از شما می خواید پسورد خود را وارد کنید ، بعد از این کار کلید شما اضافه خواهد شد.

pic42Git

توسط دکمه delete می توانید کلید را حذف کنید .

چگونه ssh agent را فعال کنیم و ssh key را به آن اضافه کنیم ؟

ابتدا درستور eval “$(ssh-agent –s)” را وارد کنید ، سپس ssh-add ~/.ssh/id_rsa.pub

به همین راحتی.

چگونه ssh connection  خود را با git hub چک کنیم ؟

برای این کار می توانید از دستور ssh –T –p 443 git@github.com یا ssh –T git@github.com استفاده کنید .

pic43Git

چگونه بفهمیم کلید ssh داریم یا نه ؟

برای این کار دستور ls –l ~/.ssh را وارد کنید اگر کلیدی داشته باشید به شما نمایش داده می شود.

pic44Git

حالا بیاید ssh هارا پاک کنیم با دستور rm –rf ~/ .ssh سپس دوباره دستور ls –l ~/.ssh را وارد کنید

pic45Git

همان طور که می بینید کلید های من پاک شدند حالا می توانیم کلید های جدیدی بسازیم.

 

 

یک مرور ساده ، برای قرار دادن یک ریپازیتوری در گیت هاب ، new repository کلیک کنید ، سپس در صفحه بعد نام ریپازیتوری را وارد کنید ، گیت بش خود را باز کنید ، وارد ریپازیتوری خود شوید اگر فایل گیت را ایجاد نکردید ، با دستور init این کار را انجام دهید یک فایل README.md بسازید ، یادتان باشید که باید add و commit شوند ، سپس ریپازیتوری را به گیت هاب push  کنید.

خوب شما آموختید ، چگونه گیت را نصب کنید ، ریپازیتوری بسازید ، از گیت هاب یک ریپازیتوری را بردارید روی آن کار کنید ، یا ریپازیتوری را روی گیت هاب قرار دهید .

پیشنهاد می‌کنم این مقالات هم بخوانید

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.

۱ ستاره۲ ستاره۳ ستاره۴ ستاره۵ ستاره
(ستاره دهید)
Loading...
Share on twitter
Share on linkedin
Share on telegram
Share on whatsapp
Share on facebook