Chapters ▾ 2nd Edition

A2.1 پیوست B: گنجاندن گیت در برنامه‌های شما (Embedding Git in your Applications) - خط فرمان گیت (Command-line Git)

اگر برنامهٔ شما برای توسعه‌دهندگان است، احتمال زیادی وجود دارد که از یکپارچگی با سیستم کنترل نسخه بهره‌مند شود. حتی برنامه‌های غیردِولپر، مانند ویرایشگرهای اسناد، نیز می‌توانند از قابلیت‌های کنترل نسخه سود ببرند و مدل گیت برای بسیاری از سناریوها به‌خوبی کار می‌کند.

اگر لازم است گیت را با برنامهٔ خود یکپارچه کنید، در اصل دو گزینه دارید: یک پوسته (شِل) اجرا کنید و برنامهٔ خط فرمان git را فراخوانی کنید، یا یک کتابخانهٔ گیت را در برنامهٔ خود جاسازی کنید. در اینجا به یکپارچه‌سازی از طریق خط فرمان و چند مورد از محبوب‌ترین کتابخانه‌های قابل‌جاسازیِ گیت می‌پردازیم.

خط فرمان گیت (Command-line Git)

یک گزینه این است که یک فرایند شل ایجاد کرده و از ابزار خط فرمان Git برای انجام کارها استفاده کنید. این روش مزیت canonical بودن را دارد و تمام ویژگی‌های Git پشتیبانی می‌شوند. همچنین نسبتاً ساده است، زیرا اکثر محیط‌های اجرایی امکانات نسبتاً ساده‌ای برای فراخوانی یک فرایند با آرگومان‌های خط فرمان دارند. با این حال، این رویکرد معایبی نیز دارد.

یکی از معایب این است که تمام خروجی به صورت متن ساده (plain text) است. این یعنی شما باید فرمت خروجی Git که گاهی تغییر می‌کند را تحلیل (parse) کنید تا اطلاعات پیشرفت و نتیجه را بخوانید، که می‌تواند ناکارآمد و مستعد خطا باشد.

دیگر کمبود این است که قابلیت بازیابی از خطا محدود است. اگر یک مخزن به‌نوعی خراب شود یا کاربر مقداری نادرست در تنظیمات داشته باشد، Git بسیاری از عملیات را به سادگی انجام نخواهد داد.

و دیگری مدیریت فرایندها است. Git نیاز دارد که یک محیط شل را در یک فرایند جداگانه نگه دارید، که می‌تواند پیچیدگی غیرضروری ایجاد کند. سعی در هماهنگ‌سازی چندین فرایند از این نوع (به‌ویژه زمانی که چند فرایند ممکن است به همان مخزن دسترسی داشته باشند) می‌تواند چالش‌برانگیز باشد.

scroll-to-top