آشنایی با git

Post on 15-Feb-2016

108 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

آشنایی با GIT . پروژه اشتراک دانش تاک . معرفی . پروژه تاک اهداف دعوت به همکاری ارائه کننده سید احسان محمودی. سرفصل های وبینار . نگاهی اجمالی به مفاهیم اولیه نگاهی به تاریخچه معرفی git هدف وبینار ترغیب استفاده از مدیریت نسخه برای همگان جلسه اول مقدماتی - PowerPoint PPT Presentation

TRANSCRIPT

GITآشنایی با

پروژه اشتراک دانش تاک

پروژه تاک

اهدافدعوت به همکاری

ارائه کنندهسید احسان محمودی

معرفی

سرفصل های وبینار

نگاهی اجمالی به مفاهیماولیه

نگاهی به تاریخچه معرفیgit هدف وبینار ترغیب

استفاده از مدیریت نسخه برای همگان

جلسه اول مقدماتی جلسه دوم مفاهیم

پیشرفته تر منبع اصلی کتابPro Git

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

نیاز به پیکر بندی سرور بوده

چرا مدیریت نسخه

مدیریت نسخه معموال در پروژه های گروهی به کار می

رفته ساختار کالسیک ابزارها دردسر راه اندازی سرور

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

کامال محلی و شخصی به آن نگاه شود.

پروژه های گروهی یا تک نفره

Checkout/Update

آخرین نسخه نسخه ها / بازبینی های قدیمی / مقایسه

CommitBranchingMerging

عملکرد های اولیه مدیریت نسخه

خیلی از اوقات الزم است که تغییرات از هم مجزا باشند

کار روی دوقسمت کامال متفاوت تغییرات عمده در کدآزمایش روش های مختلف

( Branching )انشعاب

سیر تکاملی مدیریت نسخه

1 - روش کامال ابتداییRcs( کامال محلیLocal)

Client-Serverمدل

اکثر ابزارهای کالسیکمدیریت نسخه

CVSVSSSubversion

کامال متکی به سرور

اگر سرور دچار مشکل شود همه اطالعات از بین میرود) تاریخچه(

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

کار کردنOffline سخت است

-Clientمشکالت مدل Server

مدل گسترده

Git برای یک نفر

بخش دوم

Git ( به عنوان یک ابزار مدیریت نسخه محلی Local)

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

مدل تک نفره

نحوه نگهداری - تغییرات

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

نگه داری تغییرات -

Snapshots درGit .در هر نسخه تمام فایل نگه داری می شود هر فایلی که تغییر نکرده باشد، یک نشانگر به نسخه قبلی

را نگه می دارد

به ازای هرsnapshot یک رشته به عنوان نشانگر تولید

می شود SHA-1

محتوای فایل ها زمان تهیه کاربر

16 رقمی مبنای 40عدد 24b9da6552252987aa493b52f8696cd6d3b0037

3

Gitرشته جادویی

نصب در ویندوز و لینوکس

ویندوزmsysgit تنظیمات اولیه

نام کاربری و ایمیل)پایان دهنده خط ها ) ویندوز و لینوکس

شروع کار

git config --global user.name "Your Name"git config --global user.email you@example.comgit config --global core.autocrlf true

gitسه مرحله کد در

برای کار بسیار ساده باGit به چهار دستور ساده

نیاز دارید git init برای ایجاد یک : Repositorygit add برای فرستادن فایل به staging git commitgit checkout

دستورات اولیه

انشعاب( Branching) هرSnapshot یک نشانگر به Snapshot قبلی خود

دارد

انشعاب

Head , Master

git branch test

branchانشعاب -

دستورcheckout دو کار انجام می دهد

فایل های جاری را با محتوای انشعاب جایگزین می کند نشانگرHEAD را جابجا می کند

checkoutانشعاب -

git branch testing git checkout testing

کار در یک انشعاب

#on branch testing git commit

بازگشت به انشعاب

git checkout master

تغییر مستقل

دستورgit merge <other branch<

ابتدا سعی می کند که در میان اجداد دو انشعاب، یکSnapshot مشترک پیدا کند

اگر نسخه حاضر از اجداد مستقیم انشعاب دیگر باشد ، کار Fastراحت است و فقط نشانگر جابجا می شود. )

Forward) در غیر این صورت نزدیکتر نیای مشترک را پیدا کرده و

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

که به شکل دستی این کار را انجام دهد

Merge ادغام –

Fast Forward

git checkout mastergit merge hotfix

صورت این Fastدرforward افتد می اتفاق

نیای مشترک

حاصل ادغام

دستورgit log

تاریخچه تغییرات در این انشعاب را نمایش می دهد دستورgit diff

تغییرات فایل ها نسبت بهstaging و یا Head و یا هر نسخه دلخواهی نمایش می دهد

مشاهده تاریخچه

git برای همه

بخش سوم

درgit همه کسانی که به Repository دسترسی دارند

همه تغییرات دیگران را می توانند دریافت کنند. هرgit می تواند تعداد دلخواهی از git های دیگر را به

)فامیل دور!( ثبت کند. remoteعنوان بعد از آن می توانید به تبادلsanpshot ها بپردازید

کار گروهی

git remote add یک فامیل دور بهrepository اضافه

می کند git fetchتغییرات را از فامیل دور دریافت می کند

این تغییرات به صورت یکbranch با اسم خاص ذخیره می شوند

مثالorigin/master حاال برای این که انشعاب نهایی را داشته باشید باید با آن

ادغم انجام دهید مثالgit merge

دستورgit pull این دو کار را همزمان انجام می دهد

remoteدستورات کار با

git push .انشعاب حاضر را برای فامیل دور می فرستد

این دستور تنها به صورتFast forward کار می کند ،یعنی اگر فامیل دور نسخه متفاوتی از شما داشته باشد

اجازه فرستادن را نمی دهد

دستور فرستادن

خیلی زیاد انشعاب کنید و خیلی سریع ادغام برای کارهای تک نفره هم ازgit استفاده کنید برای شروع الزم نیست همه دستورات را حفظ باشید در صورت آشنایی با مفاهیم، یک جستجوی ساده برای هر

کار کافی است سایت هایی که سرویی مجانیgit می دهند

GithupBitbbucket.org.…

gitنکته های استفاده از

پروتکل های ارتباطی( عمل گر های پیشرفته ترrebase) ... و روال های کاری برای پروژه های مختلفgit به عنوان یک ساختار داده و فایل سیستم نوشتنhook …

جلسه بعدی

top related