آموزش راه اندازی git server در ویندوز

 

How to set up git server on local network (Windows tutorial)

قبل از اینکه شروع به خواندن مقاله کنید تاکید میشود که این اموزش جهت راه اندازی GIT بدون هیچ نرم افزار جانبی است که ممکن است فرایند های مختلفی را مانند مدیریت شاخه ها ایجاد Release و Merge را به خوبی به شما ندهد البته اگر شما تسلط کامل به دستورات Git دارد هیچ مشکلی رخ نخواهد داد.

پیشنهاد ویژه »»  پیشنهاد میشود از Gitlab به صورت خصوصی استفاده کنید وبینه در آموزشی مستقل نحوه نصب Gitlab را در شبکه داخلی Lan روی سیستم عامل Ubuntu را منتشر کرده ایم هدف این کار رفع محدودیت ها و دور زدن تحریم ها است همچنین برخورداری از سرعت بسیار بالا در فرایند های روزمره استفاده از Gitlab

به جرات میتوان گفت که Git برترین سیستم مدیریت نسخه در دنیا است و معروف ترین سرور ارائه دهنده خدمات Git به صورت آنلاین همgithub  نام دارد از دیگر سرویس های پرطرفدار به Gitlab  هم میتوان اشاره کرد این وب سایت ها به طور کلی برای پروژه های خصوصی دارای محدودیت هایی هستند  که نیاز به پرداخت هزینه دارد ، هر چند gitlab این سرویس را به صورت رایگان و نامحود ارائه میکند اما به دلایل استراتژیکی میتوان گفت بهتر است که سرور git  را در شبکه داخلی راه اندازی کرد در ایران سیستم عامل اول برنامه نویس ها ویندوز است و در این آموزش روش راه اندازی git server را در یک شبکه داخلی مانند شبکه Lan شرکت یا محل کار خود را به شما کاربران وبینه آموزش می دهم.
طی چند روز گذشته به دلیل اختلالاتی که در شبکه اینترنت و دسترسی به برخی از سایت های خارجی به وجود آمد سرویس gitlab به مشکل خود و من تصمیم گرفتم که سرویس مدیریت نسخه گیت را در شرکت به صورت داخلی راه اندازی کنم.

مراحل انجام کار :

1-    ابتدا Git را از سایت اصلی ان دانلود کنید و بعد از نصب در یکی از درایو ها مانند D  یک پوشه به نام دلخواه مثلا Git_server  ایجاد کنید.
2-    وارد پوشه  Git_server شوید و دستور زیر را وارد کنید

git folder

git init webine.git --bare

bare

شما میتوانید به جای webine.git  نام  پروژه مورد نظر خود را ثبت کنید یا اینکه .git  را از عنوان پروژه حذف کنید
تبریک میگویم شما Git Server  را به همین سادگی راه اندازی کردید

مرحله دوم ایجاد clone از git server 
حالا در یک محل دیگر در کامپیوتر خود مانند درایو E  یک از سرور ایجاد شده خود یک clone  بگیرد .

git clone D:/Git_server/webine.git 


توجه حتما Back Slash  ها در آدرس های ویندوز را به Slash  تغییر دهید مثلا D:\Git_server\webine.git را به D:/Git_server/webine.git تغییر دهید در دستور فوق هم من این کار را انجام داده ام.
تا اینجا من یک سرور محلی ایجاد کردم و در یک مسیر دیگر از Repository  ایجاد شده در سرور Clone  گرفتم و از این به بعد طبق آموزش کار کردن با دستورات git  میتوانم از سیستم مدیریت نسخه به صورت local استفاده کنم.

بعد از دستور فوق یک پوشه جدید با نام webine ایجاد میشود شما میتوانید فایل های پروژه خود را در این پوشه وارد کنید و با استفاده از نرم افزار github desktop سیستم کنترل نسخه را مدیریت کنید.

github desktop

سپس با رفتن به منوی Add Local Repository و با انتخاب پوشه جدیدی که در مرحله دوم ایجاد شده میتوانید تغییرات را کنترل و commit کنید

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

و سپس در Control Panel  وارد مسیر زیر شده Control Panel > Network And Sharing Center > Change advanced sharing settings و گزینه turn on network discovery را تیک بزنید.

sharing


تا اینجا هم زمینه های مربوط به اشتراک گذاری سرور ایجاد شده را فراهم کردید . حالا میخواهیم در شبکه داخلی از پروژه webine.git  یک clone  بگیرد.
ابتدا مطابق نامی که کامپیوتر سرور دارد یک مسیر به شکل زیر باید در نظر بگیرد

git clone //VAHID-PC/gitserver/webine.git

فراموش نکنید که \ را به / تغییر دهید.

بعد از گذشت مدتی به این نتیجه میرسید که خوب این روش با اینکه ساده است ولی یک مشکل دارد و آن عدم دسترسی به سرور در خارج از فضای شرکت است یعنی خارج از فضای lan خوب راه حل چیست ؟ از طرفی هم باید این فایل ها بسیار امن باشند و به صورت روزانه بکاپ گرفته شوند اینها همه مشکلات استفاده از LOCAL است راه حل چیست ؟! بعد از بررسی هایی که داشتم به این نتیجه رسیدم که به جای تخصیص یک کامپیوتر در LOCAL از SFTP و یک هاست استفاده کنید و سعی کنید که میزبانی فایل را در SFTP انجام شود نه در LOCAL با این روش میتوان از فایل ها بکاپ هم گرفت و در همه جا دسترسی باید داشت .  فقط چند نکته مهم در این مورد عرض کنم که اگر میخواهید از SFTP استفاده کنید باید از هاستینگ استفاده کنید که GIT روی آن نصب باشد . توجه کنید که این روش نیاز به RAM و CPU بالایی ندارد و با حداقل ها هم جواب میدهد مثل 2 گیگ RAM و باید دستوراتی که در ابتدا در روی LOCAL انجام میدادید را با ورود به SSH هاست در همان مسیر اجرا کنید تا پورژه GIT شما INIT شود و سپس آدرس پروژه در هاست را در LOCAL میتوانید CLONE کنید. نکته دوم در مورد امنیت باید عرض کنم که پروژه را نباید در پوشه PUBLIC یا PUBLIC_HTML تعریف کنید بهتر است در HOME هاست خود این کار را بکنید.

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

البته با روی کار آمدن سرویس Gitea و نصب با کمک داکر روی vps ابونتو به خوبی مشکلات سرور خصوصی git حذف میشود.

حامددی 05، 1398

عالی بود