PDA

View Full Version : نرم افزار Git



Hamed Beyranvand
یک شنبه 27 مهر 1393, 21:39 عصر
سلام دوستان.اگه کسی از شماها تجربه کار با نرم افزار Git رو داره خواهشن یه سری اطلاعات به من بده.زیاد راجبش تحقیق کردم و حتی آموزش هاشم دیدم و با محیطشم آشنایی دارم فقط دقیقا نفهمیدم کجاها کاربرد داره؟؟؟
1:میگن برای کار تیمی؟؟؟؟چطوری و کدها کجا قرار می گیرن که مثلا یه شخصی در شهری دیگه بهش دسترسی داره؟؟؟
در ویکی پدیا زده هر دایرکتوری کاری در گیت یک مخزن کامل با تاریخچهٔ کامل تغییرات و قابلیت بازنگری تغییرات است و برای کار با آن نیازی به دسترسی به شبکه یا سرور مرکزی وجود ندارد.
چطور میشه وقتی شبکه ای در کار نیست دور کاری کرد؟؟؟:متعجب:
و...
ممنون میشم کسایی که با این نرم افزار به صورت عملی کار کردن یه سری اطلاعات از نحوه کارش به من بدن!!!بازم ممنون

Hamed Beyranvand
دوشنبه 28 مهر 1393, 20:33 عصر
یعنی کسی نبود یه سری اطلاعات به ما بده؟؟؟!!!:ناراحت::ناراحت:

rezakho
دوشنبه 28 مهر 1393, 22:11 عصر
سلام

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

مهرداد سیف زاده
دوشنبه 28 مهر 1393, 22:37 عصر
در اصل چه git‌و چه svn برای کنترل ورژن هستن.
یه مثال ساده شما یه پروژه ای رو استارت زدید و هر بار کدی رو به پروژه اضافه میکنید. حالا معمولا مرحله به مرحله رفتید جلو مثلا یک سایت رو قسمت ورود و خروج کاربر رو تموم کردید و رفتید سمت گالری و با کلی تغییرات در گالری و رفتید سمت مرحله دیگه تازه میبینید قسمت لاگین درست کار نمیکنه. تازه یادتون میاد در قسمت گالری رفته بودید و یه دستکاری روی لاگین هم انجام داده بودید. حالا چطور به چند رو یا چند ساعت قبل بر میگردید تا ببینید کد درست کجا بوده و اونرو برگردونید. البته بعضی ها هم هی از پروژه فایل zip آرشیو میگرن و نگه میدارن. ولی این کار درست نیست بلکه میتونید بصورت خیلی مدیریت شده تمام نسخه ها و مراحل رو توسط ابزارهای کنترل ورژن نگهداری کنید.
در svn‌ و git‌در هر مرحله شما commit‌میزنید و بعد از هر commit به شما شماره ای داده میشه(البته با گرفتن log هم همه به شما داده میشن) شما هر بار که خواستید میتونید برگردید به همون commit قبلی و یا حتی از commit قبلی برگردید به آخرین commit.
مزیت دیگر کنترل ورژن ها استفاده بصورت تیمی هست. در این روش توسط یک مدیر پروژه استارت زده میشه و یکسری کاربر به پروژه اضافه میشن. حالا هر کدوم از کاربرها بر روی پروژه که commit میزنن، مدیر میاد و میبینه که آیاد درست بوده یا نه و کلا پروژه تو هر مرحله توسط گروه جلو میره. البته در این جور کارها یه پوشه trunk دارن و یکی هم branch که پوشه trunk حاوی commitهای عمومی کاربران هست و با تایید مدیریت(یا تیم مدیریت) این تغییرات به branch اضافه میشه. در واقع تیم develop با trunk کار میکنه ولی چیزی که تحویل مشتری(یا در پروژه های اوپن سورس تحویل جامعه) میشه پوشه branch هست.
در نمونه های عمومی رایگان برای git میشه github رو نام برد که البته با دادن مبلغی میتونید پروژه private هم توش بسازید.
و البته چیزی که من باهاش کار میکنم و فوق العاده هم bitbucket.org هست. که هم public داره و private رایگان البته برای گروه ۵ نفره private رایگان میده و گروه بیشتر بشه باید پول بدید.
در آخر هر برنامه نویسی چه وب و چه غیر وب باید کنترل ورژن های git و svn رو بلد باشن.