بیژن بینایی GitHub
بیژن بینایی Rss

شروع کار با git

نوشته شده توسط بیژن | در دسته لینوکس | نوشته شده در ۱۴-۰۴-۱۳۹۲

۰

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

سوال اول: Git چیست؟

Git یک مدیر کد هست که دو هدف اصلی را دنبال می کند

۱. تسریع در فرایند کد زنی به صورت تیمی

۲. تهیه backup به صورت خودکار از کد ها به صورت پیشرفته

برای شروع شما می تونید در سایت GitHub ثبت نام کنید و یک ریپوزیتوری برای پروژتان ایجاد کنید. این عملیات خیلی ساده هست بنابراین از توضیح دادنش در اینجا خودداری می کنم

تنها قسمتی که در این فرایند شاید مشکل به نظر برسه ساخت کلید SSH هست که در اینجا راهنمای خوبی دراینباره گذاشته شده (اگر توی این بخش مشکلی بود کامنت بگذارید راهنمایی کنم)

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

/home/user/.ssh

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

  • دستور های پایه در گیت

۱. Clone

کاربرد: دریافت کردن پروژه از سرور گیت برای اولین بار

برای اینکار ابتدا باید آدرس محل قرار گیری پروژتون که به دو فرمت https و ssh هست رو از سرویس دهنده (مثلا github) دریافت کنید

مثلا برای نمونه آدرس پروژه ای به نام ایجادی رو در زیر می بینید

https://github.com/bijanbina/Ijadi.git
git@github.com:bijanbina/Ijadi.git .

توجه داشته باشید آدرس دوم (ssh) تنها مخصوص افراد با دسترسی خاص است

فرمت کلی دستور و یک نمونه:

git clone <repo> <directory>
git clone git@github.com:bijanbina/Ijadi.git .

نمونه خروجی

$ git clone https://github.com/bijanbina/Ijadi.git .
Cloning into '.'...
remote: Counting objects: 130, done.
remote: Compressing objects: 100% (97/97), done.
remote: Total 130 (delta 68), reused 90 (delta 28)
Receiving objects: 100% (130/130), 1.41 MiB | 270 KiB/s, done.
Resolving deltas: 100% (68/68), done.

2. checkout

کاربرد: جهت update کردن code ها از ریپوزیتوری git به کار می رود (با فرض clone کردن پروژه در زمان های گذشته)

git checkout master 
git checkout <branch>

3.add

این دستور فایل یا یک دایرکتوری را به صحنه (stage) اضافه می کند

زمانی که یک فایل به stage اضافه می شود تغییرات آن در هر commit ذخیره می شود.

مثلا در دستور زیر ما فایل new.cpp را به stage اضافه کردیم

git add new.cpp

فرمت های کلی دستور

git add <file>
git add <directory>

4. commit
کاربرد: از حالت فعلی کد ها یک snapshot دریافت می کند. توجه داشته باشید که تا زمانی که دستور push را اجرا نکرده باشید فایل ها به سرور اصلی منتقل نخواهند شد
فرمت:

git commit -m "<message>"

5. rm

کاربرد: یک فایل را از روی صحنه (stage) پاک می کند

فرمت کلی  + مثال

git rm <file>
git rm theme.css

6.push

پس از اطمینان پیدا کردن از همه چیز با استفاده از این دستور می تونید تمام تغییراتی را که با استفاده از دستور commit ثبت کرده اید را به سرور اصلی منتقل کنید

فرمت کلی  + مثال

git push <remote> <branch>
git push origin master

7.status

کاربرد: نشان می دهد چه فایل هایی از آخرین commit تغییر کردند، کدام فایل ها در stage قرار دارند و ... (فهمیدن وضعیت کلی مخزن)

نحوه استفاده:

git status

این دستور فایل هایی رو که در stage نیستند از توی فولدر پروژتون پاک می کنه (منظورم در فضای local هست)

git clean -fdx

منبع کاملتری هم هست که بخوبی گیت را توضیح داده!

آموزش git به زبان انگلیسی