مدیریت برنامه نویسی و برنامه نویسی تیمی در ویژوال استادیو
با سلام
عنوان سوال کمی کلی شد اما در کل 2 سوال دارم
یکی اینکه چطور میشه (با چه ابزاری ) پروژه ای را که به صورت انفرادی دارم می نویسم مدیریت کنم ، مثلا باگ ها را پیدا کردم یه جا درج کنم و بتونم بهشون دسترسی پیدا کنم
و اینکه به صورت خودکار از پروژه نسخه پشتیبان تهیه کنه ، الان که این تاپیک را میزنم یک قسمت از پروژم اشتباها پاک شد و Ctrl + Z هم نتونست برش گردونه !!!
قبلا جایی دیدم که گیت نصب داره روی سیستمش و تسک های مختلفی نصب کرده و بعد از اتمام و تیک زدنشون نشون میده کی تسک تعریف شده و کی تسک انجام شده
اما نمیدونم از کجا این نسخه را دانلود کنم و آیا جواب خواسته های منو میده یا نه
و اما همان موارد بالا را که گفتم چطور برای برنامه نویسی تیمی انجامش بدیم ؟ برخی پروژه ها مشترک هست و باید برای هر کس وظیفه خاصی تعریف و از انجام ان گزارش تهیه کرد ...
اگر فکر میکنید گیت هستش یا بهتر از اون آموزش نصب و راه اندازی هم اگر دارید بزارید برای من ممنون میشم.
در ضمن کمی سرچ کردم آموزش های توی اینترنت خیلی پیچیده و طولانی بود چند تاشو امتحان کردم حقیقت ماجرا بعد از کلی تلاش ایراد داشت و سناریو پیاده نشد ...
ممنون میشم یک راه حل کلی بهم بدید تا مشکلاتم حل بشه
7 پاسخ
سلام همان طور که شما دارید از ویژوال استودیو استفاده می کنید برای کار تیمی هم بهتر است که از tfs یا Team foundation server استفاده کنید. به این شکل که شما tfs را بر روی یک سرور نصب می کنید و یا از tfs رایگان خود مایکروسافت استفاده می کنید. tfs قابلیت های بسیار خوبی دارد که یکی از آنها source control است یعنی مانند گیت است. با این تفاوت که می توانید فایل های پروژه را قفل کنید یعنی وقتی که یکی از اعضای تیم در حال برنامه نویسی در یک فایل می باشد بقیه اعضا نمی توانند تا وقتی که آن عضو کارش تمام نشده آن فایل را تغییر بدهند. همچنین شما می توانید در tfs روند انجام پروژه را نیز مدیریت کنید به شکلی که برای هر عضو تیم وظایفی را تعریف کنید و اعضا بعد از اتمام وظایف آن را تیک بزنند. قابلیت بسیار خوب این است که tfs به خوبی با ویژوال استودیو ارتباط برقرار می کند و همه کار های تیک زدن وظایف و گرفتن پروژه یا ارسال پروژه بر روی source control از داخل ویژوال استودیو انجام می شود همچنین شما می توانید به روش اسکرام تیم خود را مدیریت کنید و اسپرینت و بک لاگ تعریف کنید و کاربران آن وظایف را در ویژوال استودیو ببینند. همچنین می توانید ببینید که هر کدام از اعضا چه تغییراتی در کد داده اند.
سلام
سورس کنترل مکانیزمی هستش که نسخه های مختلف برنامه به همراه تغییرات رو نگه داری می کنه. حالا گیت یک سورس کنترل توزیع شده هستش و tfs یه سورس کنترل متمرکز. به این شکل که اگه از گیت شما نسخه خودتون رو pull کنید یعنی همه سورس رو دارید و اگه سرور دچار مشکل بشه می تونید از نسخه ای که دست خودتون دارید به عنوان نسخه سرور استفاده کنید و همه تغییرات و تاریخچه را داشته باشید. در حالی که tfs به این شکل نیست. tfs به صورت مرکزی و مجتمع هستش. و تاریخچه در داخل سرور نگهداری می شود. شاید اولش بگید که گیت خیلی خوبه چون همه نسخه ها رو همه دارن ولی توی کار نمی شه ثابت کرد که گیت خوبه. چرا که وقتی که سورس در یک مرکز قرار داشته باشد شما راحت تر می توانید دسترسی کاربران را به آن کنترل کنید. به این شکل که تصور کنید که شما در حال کار بر روی یک فایل از پروژه هستید. حالا اگه از گیت به عنوان سورس کنترل استفاده می کنید یک کاربر دیگر به راحتی می تونه فایلی رو که شما در حال کار بر روی آن هستید رو تغییر بده . خب وقتی که شما می خواهید سورس خودتون رو آپلود کنید باید با تغییراتی که کاربر دیگری انجام داده ,merge کنید. ولی tfs اینجوری نیست. وقتی که شما روی یه فایل در حال کار هستید tfs دیگه به بقیه اجازه نمیده که اون فایل رو تغییر بدن. تا وقتی که شما تغییراتتون رو check in کنید. به همین دلیل ناسازگاری ها در داخل اعضای تیم و کد به حد اقل میرسه. همچنین tfs به راحتی با ویژوال استودیو match میشه و همچنین tfs امکانات دیگه ی مدیریت پروژه رو نیز در اختیارتون قرار میده که راحت تر می تونید پروژه رو مدیریت کنید ولی گیت فقط و فقط یک سورس کنترل هستش.
در باره حجم بک آپ هم می تونید تنظیم کنید که چقد بک آپ بگیره ولی به قدری نیست که شما رو نگران بکنه.
با تشکر از متانت و پاسخ های کامل دوستان
سوالی که دارم چه تفاوتی بین TFS و Git وجود دارد ؟
بنده شنیده ام که در تیم به دلیل گرفتن بک اپ های زیاد حجم زیادی درگیر میشه ، یا اصلا بهتر بپرسم چه تفاوتی بین Git و TFS وجود دارد ؟ آیا دلیل خاصی وجود داشت که TFS انتخاب شد ؟
آقای سپهری بله کلاس لایبراری ها کارامد هستند اما نیاز ما را بر طرف نمیکنند، متشکرم
جناب احمدی ممنون بابت معرفی نرم افزار خیلی ابزار مناسبی هستش.
علاوه بر TFS می تونید از TortoiseSVN هم استفاده کنید. یک ابزار بسیار سبک برای Source Control هست که برای پروژه های انفرادی خیلی کاربردیه.
ممنون توضیحات بسیار کامل و جامع بود ...
ممنون میشم در مورد نحوه کار با tfs هم آموزشی ارائه بدید
سلام دوست عزیز همچنین شما علاوه بر استفاده از tsf می تونید در مواقع نبود امکانات از منابع و کلاس هایی که در .net تعریف کردید فایل .dll تهیه کنید و آنرا بین همکارهاتون به اشتراک بذارید.
امیدوارم این لینک کمکتون کنه