طراحی وبسایت ارزان وب سایت شرکتی وب سایت رایگان

طراحی وب سایت ارزان

طراحی وب سایت ارزان وب طراحی شخصی و شرکتی

طراح وب سایت شرکت

طراح وبسایت

وب سایت نیکا کامپیوتر وب سایت اختصاصی اسکریپت اختصاصی طراحی قالب اختصاصی نیکاکامپیوتر website design طراحی قالب وب سایت شرکتی طراحی اسکریپت شخصی ویرایش اسکریپت طراحی اسکریپت ارزان وب سایت شرکتی ارزان سیستم اینترنتی نرم افزار ارزان طراحی نرم افزار ویندوز سئو وب طرح قالب بسته سئو طراح قالب اختصاص bms سامانه اینترنتی طراحی نرم افزار تحت وب طراحی اپلیکیشن طراحی اپلیکیشن اندرویدی آموزش آموزش بهینه سازی اموزش اندروید script application website seo طراحی ارزان قالب ارزان سیستم اختصاصی ارزان ارزان بسته های ارزان اموزش رایگان هاست رایگان مدیریت


ساختار گیت و چند دستور ساده در Git

سه شنبه ، ۲۹ فروردین ۱۳۹۶ , ۰۹:۵۰ ۶۶۲ آموزش ساختار گیت و چند دستور ساده در Git

اگر شما از برنامه نویسانی هستید که از گیت استفاده می کنید بهتر است کمی بیشتر در مورد Git و Github بدانید . برای اشنایی بیشتر با گیت در اینجا به توضیح کلی ساختار گیت خواهیم پرداخت . تجربه سازنده گیت در لینوکس با توجه به بزرگی و توزیع شده بودن آن و همچنین آشنایی با فرمت فایل‌ها و نحوه ذخیره شدن و ساختار آن‌ها در ساخت گیت مؤثر بوده است. این تأثیر باعث به وجود آمدن این موارد در پیاده‌سازی آن شده است.

حمایت قوی از برنامه‌نویسی غیر خطی
گیت از ادغام‌سازی و شاخه‌سازی متوالی پشتیبانی می‌کند؛ و در آن ابزارهای ویژه تصویر و سازی و جست و جو در تاریخچه کد تعبیه شده است. در گیت فرض بر این بوده است که معمولاً ادغام سازی تغییرهای بیشتر از ایجاد و نوشتن تغییرهای جدید انجام می‌شود. همچنین در گیت شاخه‌سازی کم هزینه است و هر شاخه‌سازی تنها لینکی به یک تغییر دارد؛ و با استفاده از روابط وراثتی در شاخه سازی‌ها شکل کلی بعد از هر شاخه سازی بدست می‌آید.

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

تطبیق پذیری و با سیستم‌های خارجی و پروتوکل‌ها
تاریخچه می‌تواند در فرمت‌های مختلفی از جمله پروتکل انتقال ابرمتن (HTTP) و پروتکل انتقال فایل (FTP) و آرسینک و یا یک پروتوکل گیت تحت سوکت یا پوسته ایمن (SSH) منتشر شود. همچنین یک سازنده سرور سیستم نسخه‌های هم‌روند دارد که توسط آن سیستم نسخه‌های هم‌روند کاربر و محیط یکپارچه توسعه نرم‌افزار (IDE) می‌توانند به تاریخچه گیت دسترسی پیدا کنند.

پردازش بهینه برای پروژه‌های بزرگ
سازنده آن، آن را بسیار سریع و توسعه پذیر توصیف کرده است. تست‌های انجام شده بر روی آن توسط Mozilla نشان داده است که حدود ۱۰ برابر سریع‌تر از برخی دیگر از نرم‌افزارهای کنترل نسخه است و همچنین ذخیره تاریخچه تغییرها به صورت محلی باعث شده است که سر هم کردن آنها حدود ۱۰۰ بار سریع‌تر انجام شود.

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

طراحی وابسته به ابزار
گیت در اصل به زبان C و همچنین تعدادی واسطه‌میان قسمت‌های آن به زبان shell script نوشته شده است. اکثر قسمت‌های آن برای افزایش بهینگی پردازش و افزایش امکان قابل حمل بودن تغییر یافته‌اند ولی ساختار طراحی آن به همان صورت اولیه باقی مانده است و هنوز اتصال موئلفه‌های آن به راحتی قابل انجام است.

استراتژی‌های ادغام‌سازی قابل اتصال
الگوریتم ادغام‌سازی گیت یک ادغام‌سازی کامل نیست؛ و در مواردی که نتواند ادغام سازی را انجام دهد به کاربر اطلاع داده و از اون می‌خواهد تا استراتژی مورد نظر خود برای ادغام‌سازی را انتخاب کند.

آشغال‌ها باقی می‌مانند تا وقتی جمع‌آوری شوند.
بعضی از قابلیت‌ها و بعضی از پردازه‌های استفاده نشده در پروژه برای پروژه بدون استفاده خواهند بود ولی در گیت باقی می‌مانند و به آنها اصطلاحاً آشغال گفته می‌شود. وقتی حافظه مربوط به آشغال‌ها پر شود گیت به صورت خودکار جمع‌آوری آشغال را انجام می‌دهد. همچنین می‌توان با این دستور آن را انجام داد.

git gc --prune

جمع‌آوری دوره‌ای داده‌های مجزا
با گسترش پروژه حجم داده‌ها در فایل‌های مختلف بیشتر و بیشتر می‌شود و هرچند که هر فایل به صورت مجزا فشرده‌سازی می‌شود ولی در مجموع فایل‌ها حجم بالایی را اشغال خواهند و پردازش زیادی برای جست‌وجو در میان آن‌ها و پردازش آنها صرف می‌شود که این موضوع اصلاً بهینه نیست. برای حل این مشکل گیت مجموعه تعدادی از فایل‌ها را در یک بسته نگهداری می‌کند. روش آن بدین صورت است که احتمال می‌دهد فایل‌های با نام متشابه، محتوای متشابهی نیز داشته باشند و آن‌ها را در یک بسته ذخیره می‌کند. هرچند که این روش لزوماً درست نیست. عملیات جمع‌آوری به صورت دوره‌ای و در زمان‌هایی که فشار کمتری روی سرور باشد انجام می‌شود، مثل زمان‌های خارج از وقت اداری.

داده ساختار
گیت دو نوع ساختار دارد: یکی یک ساختار تغییرپذیر که در آن اطلاعات پوشه‌ای که در حال تغییر است و همچنین اطلاعات ساخت ورژن بعدی ذخیره می‌شود؛ و دیگری دادی ساختاری غیرقابل تغییر و تنها قابل اضافه کردن از یک پایگاه داده است.

این پایگاه داده چهار نوع داده را ذخیره می‌کند.

حباب (blob) شامل اطلاعات یک فایل است. blob دارای نام و یا تاریخ نیست و نام آن از اطلاعات داخل آن نشئت می‌گیرد.
درخت (tree) نشئت گرفته از یک پوشه اشت و لیستی از مجموعه فایل‌ها را ذخیره می‌کند. در این لیست لینک‌های مربوطه به حباب‌ها ذخیره می‌شود.
اعمال (commit) مجموعه‌ای از درخت‌ها را در خود ذخیره می‌کند. شمال اسم درخت‌ها، تاریخ اعمال، توضیحات (log message) و نام‌ها مربوط به اعمال‌های والدین خود است.
تگ (tag) شامل یک اشاره به یک داده دیگر است که در آن فراداده مربوطه ذخیره می‌شود. اخیراً از آن برای نگهداری امضاهای مربوطه نیز استفاده می‌شود.
سرورهای گیت عموماً از پرت (TCP port 9418) استفاده می‌کنند.

رابطه‌ها
هر داده‌ای داخل گیت که به آن رابطه‌ای اطلاق نشده باشد می‌تواند با اجرای دستور جمع‌آوری زباله و یا به صورت خودکار حذف شود. رابطه‌ها ممکن است از یک داده به داده‌ای دیگر و یا به صورت مجزا باشند. گیت مدل‌های مختلفی از رابطه دارد؛ و دستورها مختلفی برای دسترسی به آن‌ها وجود دارد. چند نمونه از انواع رابطه:

سر (head): به صورت محلی به یک داده اشاره دارد.
کنترل از دور (remote): به یک داده خارجی اشاره دارد.
ذخیره‌ای (stash): به یک داده که هنوز اعمال نشده اشاره دارد.
پرچم (tag): در بالاتر توضیح داده شد.
در پوشهٔ پایهٔ هر پروژه که با استفاده از گیت مدیریت می‌شود پوشه‌ای با نام git. (نقطه git) وجود دارد که تمامی اطلاعات مربوط به پروژه (تاریخچه، برچسب‌ها، ...) را در خود نگه می‌دارد. این ساختار بر خلاف ساختار سابورژن است که در هر زیرشاخه یک پوشهٔ svn. (نقطه svn) دارد. از جمله پرونده‌هایی که در پوشهٔ git. وجود دارند، config است که تنظیمات مخزن را در خود نگه می‌دارد.

 

در ادامه تعدادی از دستورها پرکاربرد گیت آمده است.

برای راهنمایی گرفتن دربارهٔ یک دستور:

git help دستور

برای اجرای تنظیمها از config استفاده می‌شود. جزئیات استفاده از این دستور را می‌توان با دستور زیر بدست آورد.

git help config

دستور ایجاد پوشه اصلی:

git init <آدرس پوشه اصلی>

دستور استفاده از یک گیت از قبل ساخته شده:

git clone ssh://< user > @ < host > /path/to/repo.git

استفاده می‌شود. دستور اضافه کردن فایل جدید:

git add <نام فایل>

دستور حذف فایل

git rm --cached < نام فایل >

دستور مشاهده وضعیت:

git status

بررسی تفاوت‌ها در کد نوشته شده و اعمال نشده:

git diff

این دستور تغییرها اعمال شده و ثبت نشده را نشان می‌دهد. دستور اطلاع از تارخیچه

git log

دستور قرار دادن تغییرها:

git push

دستور اعمال تغییرها:

git commit

دستور دریافت تغییرها از روی تاریخچه:

git pull

دستور الحاق برچسب:

git tag

دستور بازگرداندن یک فایل به آخرین وضعیت ذخیره شده:

git checkout HEAD < نام فایل >

برای برگرداندن تغییرها یک اعمال خاص:

git revert < commit-id >

اصلاح یک اعمال:

git commit -amend

 

ساختارگیتوچنددستورسادهدرGit



شما هم دراین باره نظر بدهید !