- برنامه نویسی - انواع مختلف سورس کنترل و تفاوت آن‎ها
: 20201218 : 1294

انواع مختلف سورس کنترل و تفاوت آن‎ها



انواع مختلف سورس کنترل و تفاوت آنها
مشارکت کننده‌ها
داشتن ورژن‌های مختلف فایل‌های هر پروژه نرم افزاری و یا هر پروژه دیگری از قبیل فایلهای یک کتاب که در حال نگارش است و هر فایل یا مجموعه فایل دیگری، حتی در پروژه‌های فردی نیز امری مطلوب به نظر می‌رسد که فواید و کاربردهای خاص خود را دارد که البته این موضوع در پروژه‌های گروهی نه فقط مطلوب بلکه لازم و ضروری است.
نرم‌افزارهای مدیریت کد از لحاظ نحوه نگهداری و مدیریت کد (source control) به طور کلی به دو دسته توزیع شده (distributed) و متمرکز (centeralized) تقسیم می‌شوند:
سورس کنترل مرکزی یا Centeralized
در روش مرکزی یک server و تعدادی client وجود دارد. به این صورت که تمامی تغییرات در server ذخیره می‌شود و کاربران (برنامه‌نویس‌ها) با استفاده از client تغییرات جدید را اعمال کرده و یا تغییرات دیگران را دریافت می‌کنند.
در این نوع سورس کنترلها دادههای مدیریتی و متادیتاها (metadata) بر روی سرور نگهداری می‌شود و کلاینتها تنها بخش یا کل سورس را در یک ورژن مشخص دارند و تاریخچه تغییرات بر روی هر کلاینت نگهداری نمیشود. در این روش اگر اطلاعات روی سرور مخدوش شود و یا به هر دلیلی سرور از کار بیافتد کلاینتها به مشکل بر می‌خورند و امکان checkin یا checkout فایلها وجود نخواهد داشت.
سورس کنترل توزیع شده یا Distributed
در روش مرکزی server حذف شده‌است و هر فرد می‌تواند یک server باشد و تاریخچه کامل را در اختیار داشته باشد. در این دسته تغییرات می‌تواند بدون در اختیار داشتن ارتباط آنلاین انجام شود.
در روش توزیع شده برای برطرف کردن مشکلات روش متمرکز یک کپی کامل از همه فایلهای پروژه و تاریخچه تغییرات هر فایل و همچنین فایلهای مدیریتی و متادیتاها نزد تک تک کلاینتها وجود دارد. با این حساب اگر سرور در دسترس نباشد هر کلاینت مستقلا کار می‌کند و حتی امکان بازیابی اطلاعات از روی کلاینتها بر روی سرور نیز وجود دارد.
قبلا برای کنترل ورژنهای مختلف یک فایل، از روشهای مختلف از قبیل subversion استفاده می‌شد که تغییرات نسبت به ورژن قبل را نگه می‌داشت، البته این روش در کارهای تیمی نیاز به سرور مرکزی داشت و محدودیتهایی از قبیل اینکه کاربران باید به صورت آنلاین و برخط کار می‌کردند آزار دهنده بود و یا اینکه داشتن همه نسخهها برای کاربران امکان پذیر نبود و یا با زحمت زیادی همراه بود. اما با معرفی روش توزیع شده در گیت (git) در سال ۲۰۰۵ توسط مخترع لینوکس (linus torvalds)، همه برنامه نویسان و گسترش دهندگان نرم افزار به برتری این روش اذعان کردند و هم اکنون بسیاری از شرکت‌های بزرگ نیز پروژه‌های خود را با این روش در سایتهای مانند github, gitlab و یا سایر سرویسهای موجود که مبتنی بر git هستند نگهداری می‌کنند. با این حال هنوز هم هستند شرکتهایی که از روش‌های قدیمی مانند داشتن یک فایل متن در هر پوشه،هارد کپی و ... استفاده می‌نمایند.
اگر مایلید که اطلاعات بیشتری در خصوص source controlها داشته باشید با ما همراه شوید چرا که در ادامه به بررسی چند سرویس پرطرفدار و پرکاربرد نظیر github و tfs خواهیم پرداخت.
فرق بین TFS،SVN و GIT در چیست؟
stackoverflow.com
ادامه‌ی مطلب ←
توسط وحید نصیری در ۸ سال و ۳ ماه قبل، دو شنبه ۱۳ شهریور ۱۳۹۱، ساعت ۱۲:۰۲ مشاهده: ۱۹۸۱ نظرات : ۱۱
گروه(ها): Git TFS SVN وضعیت پیوند: 301, MovedPermanently
 امتیاز ۵,۰۰ از ۵ توسط ۱ نفر
مطالب مرتبط
چرا نباید از TFS استفاده کرد؟!
# نظرات خوانندگان
# dot_net در ۸ سال و ۳ ماه قبل، دو شنبه ۱۳ شهریور ۱۳۹۱، ساعت ۱۲:۵۱
 امتیاز ۳,۰۰ از ۵ توسط ۲ نفر
جناب نصیری نظر شما در این مورد چیست؟
# وحید نصیری در ۸ سال و ۳ ماه قبل، دو شنبه ۱۳ شهریور ۱۳۹۱، ساعت ۱۲:۵۶
 امتیاز ۵,۰۰ از ۵ توسط ۴ نفر
من از SVN استفاده می‌کنم  و قصد تعویضش رو هم ندارم. SVN مانند Git توزیع شده نیست و ... برای کار من هم اهمیتی ندارد. سازگاری بسیار مناسبی با ویندوز دارد. برنامه Visual SVN Server و همچنین افزونه VisualSVN، کار کردن با SVN را تحت ویندوز و با VS.NET بسیار لذت بخش می‌کنند. تمام امکانات یک سورس کنترل عالی را هم دارد و من کم و کسری در آن نمی‌بینم.
# dot_net در ۸ سال و ۳ ماه قبل، دو شنبه ۱۳ شهریور ۱۳۹۱، ساعت ۱۴:۲۰
 امتیاز ۳,۰۰ از ۵ توسط ۲ نفر
مهم اینه نیازها پوشش داده بشن... حالا هر چی که میخواد باشه.
# علیرضا صالحی در ۸ سال و ۳ ماه قبل، دو شنبه ۱۳ شهریور ۱۳۹۱، ساعت ۱۶:۱۲
 
من تقریبا 5 ساله که دارم از TFS و SVN استفاده می‌کنم.
SVN به جهت هماهنگی با محیط‌های غیر از windows و visual studio کارآمد‌تر است. مثلا به راحتی می‌توانید یک فولدر را با آن کنترل کنید.
به SQL Server هم وابسته نیست. کلا چون مایکروسافتی نیست دست شما خیلی باز تره. البته تنظیم کردن پلاگین‌ها و ابزارهای جانبی با آن بسیار زمان برتر است.
TFS به جهت متمرکز بودن ابزارهای جانبی در آن مانند workflow و issue Traker و ... کارآمد‌تر است. به لحاظ مدیریتی من این گزینه را بیشتر می‌پسندم، چون در محیط شرکت ابزارهای جانبی آن کارایی مناسبی دارد، از زمانی هم که پلاگین eclipse آن آمده حتی پروژه‌های تحت eclipse (آندروید،جاوا،php) را هم با آن کنترل می‌کنیم.
با توجه به این که مجموعه ابزارهای مجتمع TFS نسبت به SVN بیشتر و مدیریت آن ساده‌تر است فعلا این گزینه برای من ارجحیت دارد.
# وحید نصیری در ۸ سال و ۳ ماه قبل، دو شنبه ۱۳ شهریور ۱۳۹۱، ساعت ۱۶:۴۶
 امتیاز ۵,۰۰ از ۵ توسط ۱ نفر
البته مقایسه TFS با SVN و Git و مرکوریال و امثال آن کمی زیاده روی است، چون TFS یک ابزار ALM است (Application Life-cycle Management) و مابقی فقط و فقط سورس کنترل هستند.
اما کسانیکه مثلا با SVN کار می‌کنند یا Git، مابقی کارها رو توسط مثلا Jira که با این‌ها به خوبی یکپارچه می‌شود مدیریت می‌کنند. البته Jira فقط یک نمونه است. عده‌ای دیگر از ترکیب SVN، TeamCity و YouTrack استفاده می‌کنند و الی آخر. در این حالت دست باز‌تر است برای انتخاب.
# مرادی در ۸ سال و ۳ ماه قبل، سه شنبه ۱۴ شهریور ۱۳۹۱، ساعت ۱۵:۱۱
 امتیاز ۵,۰۰ از ۵ توسط ۱۳ نفر
با نصب Team Foundation Productivity Power Tools می‌توانید محتویات فولدرهای گزارشات خود را خارج از Visual Studio و در محیط خود ویندوز مدیریت کنید
# احمد احمدی در ۸ سال و ۳ ماه قبل، چهار شنبه ۲۲ شهریور ۱۳۹۱، ساعت ۰۰:۴۵
 
سلام جناب نصیری - بنده قسمتی از کتاب شما در مورد SVN رو مطالعه کردم، همچنین مقالات دوستان در مورد Git رو هم خودم .
چیزی که متوجه شدم اینه که اگر چند نفر قرار باشه خارج از شبکه با این سیتم‌ها کار کنند، باید یک سرور ( یک سیستم با Static IP ) داشته باشیم، آیا این تصور بنده صحیح است ؟
# وحید نصیری در ۸ سال و ۳ ماه قبل، چهار شنبه ۲۲ شهریور ۱۳۹۱، ساعت ۰۰:۵۲
 امتیاز ۵,۰۰ از ۵ توسط ۱ نفر
این‌ها دیگر مسایل مدیریت شبکه است. خارج از شبکه اگر منظور شما کارمندان یک شرکت هستند که قرار است به شبکه داخلی متصل شوند ...  می‌شود از V.P.N استفاده کرد (در شبکه داخلی باید این سرور تنظیم شود و بله باید برای دسترسی از بیرون IP ثابت داشته باشد). زمانیکه کارمندی با V.P.N به شبکه شرکت متصل می‌شود، جزئی از شبکه داخلی خواهد شد و بر اساس سطح دسترسی تعریف شده، به منابع داخلی شبکه منجمله سورس کنترل، دسترسی خواهد داشت.
اگر قرار است برای عموم دنیا اینکار را انجام دهید می‌شود از یک VPS استفاده کرد با IP مشخص؛ یا حتی می‌تونید از سرویس‌هایی مانند bitbucket.org هم استفاده کنید. مهم‌ترین مزیت آن دسترسی به private repository رایگان است.
# محبوبه محمدی در ۷ سال و ۷ ماه قبل، یک شنبه ۲۹ اردیبهشت ۱۳۹۲، ساعت ۱۶:۳۹
 
سلام.
من مدتهاست از TFS استفاده کردم ولی به خاطر هزینه‌ی بالاش و البته اینکه  Windows Server ندارم برای این پروژه،تصمیم گرفتم از SVN استفاده کنم ولی متاسفانه نفهمیدم بعضی جاهاشو و خب تا برام حل نشه نمیتونم ازش استفاده کنم!(ebook شما رو هم خوندم و خب خیلی خوب بود)ولی هنوز بعضی چیزا برام مبهمه:
اولا تفاوت Visual SVN و TortoiseSVN  رو نمی‌فهمم؟!آیا دو تا رابط جدا هستند و کارایی یکسانی دارند یا هر کدوم کاربری متفاوت داره؟(چون اینطوری که اینجا نوشته برای نصب VisualSVN  باید TortoiseSVNرو هم نصب کرد) دوما اینکه نمیفهمم باید SubVersion رو هم جدا نصب کنم یا همین رابط‌های کاربری گرافیگی کافی هستند؟ 
از طرفی تا جایی که من خوندم  برای Visual Studio 2012 باید 3.0 Visual SVN  رو نصب کنم که من اینو از اینجا http://www.visualsvn.com/visualsvn/download/ دانلود میکنم ولی مثل ورژن قبلیش   محیط Visual SVN Server رو نداره،برا همی Reopsitory رو باید با استفاده از  TortoiseSVN  (همونطور که توکتاب توضیح دادید ایجاد کنم که قبلا یک جا خوندم Repository که TortoiseSVNبه صورت Local هست.برای همین نفهیمدم به چه دردی میخوره اگه Local باشه؟!
ببخشید که اینجا گذاشتم این سوال‌ها رو چون من با سیستم وبساییتون زیاد آشنا نیستم.ممنون از اینکه خوندید و جواب میدید.
# وحید نصیری در ۷ سال و ۷ ماه قبل، یک شنبه ۲۹ اردیبهشت ۱۳۹۲، ساعت ۱۷:۲۱
 امتیاز ۵,۰۰ از ۵ توسط ۱ نفر
- راهنمای سریع نصب SVN
و چند نکته:
- SVN یک سرور است که البته برای اجرا نیازی به ویندوز سرور ندارد. روی ویندوز XP هم نصب می‌شود.
- TortoiseSVN کلاینت SVN است. با استفاده از آن نیازی نیست تا فرامین کار کردن با SVN را حفظ کنید. با Windows explorer یکی می‌شود و بعد از آن در کلیک راست آن حضور خواهد داشت.
- Visual SVN Server یک نصاب ساده کننده نصب SVN در ویندوز است. خصوصا اینکه اعتبار سنجی یکپارچه با ویندوز را هم به صورت خودکار ارائه می‌دهد.
- Visual SVN یک افزونه است برای VS.NET جهت یکپارچه کردن آن با امکانات TortoiseSVNدرون ویژوال استودیو. یک نسخه رایگان هم به نام AnkhSVN بجای آن وجود دارد.
انتخاب بین SVN و git
توسط افشار محبی در شنبه, مارس 13, 2010
مدت‌هاست که به دنبال خلاصی از دست SourceSafe هستیم ولی چون رییس نمی‌خواهد، نمی‌شود که نمی‌شود. رییس آنقدر به SourceSafe علاقه دارد که من خودم هم بعضی وقت‌ها یادم می‌رود چرا می‌خواهم آن را کنار بگذارم. برای جایگزینی SourceSafe دو گزینه را نامزد کرده‌ام: SVN و git. ولی متاسفانه انتخاب بین این دو برایم آنقدر سخت شده که بی‌حساب.
git در این دو سه ساله محبوبیت خیلی خیلی زیادی پیدا کرده است و روز به روز در حال پیشی گرفتن از SVN بوده است. git امکانات خیلی خوبی برای تیم‌های decentralize دارد. به عنوان مثال وقتی که سرور خاموش است یا به اینترنت دسترسی ندارید باز هم می‌تواند از نسخه local خود به عنوان یک سورس کنترل استفاده کنید و بعداً که به سرور دسترسی پیدا کردید آن check-inهای local را به راحتی در سرور اصلی check-in کنید.
هم git و هم SVN محبوبیت خوبی در پروژه‌های کدباز دارند ولی حدس می‌زنم جا افتادن git در شرکت‌های ایرانی خیلی طول بکشد. چون با وجود add-inهایی که برای Visual Studio دارد (مثل Git Extension) باز هم مهمترین ابزار کار با آن git bash است که یک ابزار خط فرمانی است. از دیگر سو SVN در حال حاضر توسط تعدادی از برنامه‌نویسان ایرانی و قاعدتا شرکت‌های ایرانی مورد استفاده قرار می‌گیرد. add-inهای معروف‌تری مثل AnkhSVN دارد و رابط معروفی مثل TortoiseSVN دارد.
اگر از git استفاده کنم به طور حتم باید قید جا افتادن آن در شرکت خودمان را هم بزنم، چون ظاهر خط فرمانی و ریشه تمام لینوکسی آن هر کسی را وحشت‌زده می‌کند و اگر از SVN استفاده کنم می‌ترسم که بیخودی خودم را از قافله فناوری عقب انداخته باشم.  خصوصاً این که برای خودم احتمال کار روی پروژه‌ها به صورت decenteralize بیشتر است.
توجه: StackOverflow پر است از بحث‌های مقایسه git و SVN.
به روز رسانی: برای مقایسه این دو از دید یک برنامه‌نویس ایرانی، نگاهی هم به اینجا بیندازید.
Git revision control Source Control SourceSafe Subversion
3
پست قبلی
پست بعدی
پست‎های مرتبط
شرکتی فنی
پیچیدگی فنی استارتاپ‎ها
انتقادی عمومی فنی
ششمین روز
فنی
انتخاب React یا Angular
Comments
ناشناس
مارس 13, 2010 at 12:38 ب.ظ
پاسخ
سلام.
درباره TFS هم یه تحقیق بکن.
Afshar Mohebbi
مارس 13, 2010 at 1:06 ب.ظ
پاسخ
سلام،
ایده من این است که تا می‌توانیم به سمت جوامع Open Source حرکت کنیم. در این طور جوامع هم بیشتر از git و SVN استفاده می‌کنند تا TFS.
 
 
 
 
با توجه به این که برنامه نویسان دائما کد خود را اصلاح می‌کنند، پیگیری تغییرات امری بسیار مهم می‌باشد. با استفاده از سیستم‎های کنترل نسخه نرم افزاری مانند (Apache Subversion (SVN می‌توانید تیم خود را در یک صفحه نگاه دارید. در این دوره با نحوه استفاده از SVN برای پیگیری تغییرات کد خود و ادغام تغییرات متقابل، مفاهیم کلیدی و اصطلاحات نظیر trunks، commits و revisions، نحوه‎ی ایجاد پروژه جدید جاوا، ایجاد تغییرات و ایجاد شاخه‎ها آشنا می‌شوید. مدرس این دوره چگونگی پیدا کردن و حل اختلافات با استفاده از Eclipse، ایجاد یک انتشار و استفاده از SVN و Git را با هم بررسی می‌کند.
مباحث دوره:
Trunks، برچسب‎ها و شاخه‎ها
Checkout،commits و revisions
ادغام، قفل کردن، و کار با یک تیم
TortoiseSVN در ویندوز
یکپارچه سازی SVN با Eclipse
اتصال به یک پروژه
ایجاد یک پروژه جدید جاوا در Eclipse
اتصال به پروژه جاوا موجود با استفاده از Eclipse
کار با پروژه‎هایی که به مکان جدید منتقل می‌شوند
ایجاد تغییرات و ایجاد شاخه‎ها
ردیابی تغییرات و برخورد با اختلافات
ایجاد یک انتشار
سرفصل‎ها:
معرفی
خوش آمدگویی
چیزی که باید بدانید
فایل‎های تمرین
مفاهیم و اصطلاحات
مزایای کنترل نسخه: پشتیبان گیری، تاریخ، کار در تیم
مخازن
Trunks، برچسب‎ها و شاخه‎ها
Checkout،commits و revisions
ادغام، قفل کردن، و کار با یک تیم
شروع کار
سرور شما: VisualSVN در ویندوز
سرور شما: Apache SVN در Mac
کلاینت خط فرمان
TortoiseSVN در ویندوز
ادغام SVN با Eclipse
نسخه‎های SVN، سازگاری به جلو / عقب و لینک‎ها
اتصال به یک پروژه
ایجاد پروژه جدید جاوا در Eclipse
اتصال به یک پروژه جاوا موجود با استفاده از Eclipse
کار با پروژه‎هایی که به مکان جدید منتقل می‌شوند
ایجاد / اتصال با استفاده از خط فرمان
ایجاد / اتصال با استفاده از TortoiseSVN
ایجاد تغییرات و ایجاد شاخه‎ها
اولین commit: ایجاد یک تغییر، ایجاد یک نظر
به روز رسانی و همگام سازی
ایجاد شاخه با استفاده از Eclipse
به روزرسانی شاخه با آخرین تغییرات از تنه با استفاده از Eclipse
بازگشت شاخه به تنه با استفاده از Eclipse
پاک کردن شاخه با استفاده از Eclipse
ایجاد / به روز رسانی / ادغام با استفاده از TortoiseSVN
ایجاد / به روز رسانی / ادغام با استفاده از خط فرمان
تغییرات ردیابی و مقابله با اختلافات
تفاوت بینایی و تاریخچه با استفاده از Eclipse
مشاهده و حل اختلافات با استفاده از Eclipse
رولینگ تغییرات
درگیری / درگیری / عقبگرد با استفاده از TortoiseSVN
درگیری / درگیری / عقبگرد با استفاده از خط فرمان
ایجاد یک انتشار
انتشارات و تنه
شاخه‎ها و برچسب‎ها برای عکس‎های فوری با استفاده از Eclipse
ذخیره کد کامپایل شده (باینری) در SVN با استفاده از Eclipse
انتشار‎ها/ عکس‎های فوری/ باینری‎ها با استفاده از TortoiseSVN
انتشار‎ها/ عکس‎های فوری/ باینری‎ها با استفاده از خط فرمان
منابع تکمیلی
استفاده از SVN و GIT
اطلاعات تکمیلی و پیوندها
نتیجه
مراحل بعدی
سورس کنترل چیست؟ SVN چیست؟
سرس کنترل عبارت است از سیستمی برای کنترل و پی‌گیری تغییرات واحد اطلاعاتی دخیل در ایجاد یک برنامهٔ نرم‌افزاری. واحد اطلاعاتی مزبور می‌تواند شامل فایل‌های سرس، راهنماها، میک فایل‌ها، اشیاء نرم‌افزاری و .... سرس کنترل به خصوص در جایی اهمیت پیدا می‌کند که چند برنامه‌نویس بخواهند روی منابع مشترکی کار کنند. در این صورت است که مفاهیمی همانند مقایسه، ترکیب، تداخل و ... پیش می‌آیند که سرس کنترل باید بتواند راه حل مناسبی برای هر یک ارایه دهد. امروزه معمولاً از ابزارهای نرم‌افزاری برای این کار استفاده می‌شود. با این حال هنوز هم هستند شرکتهایی که از روش‌های قدیمی مانند داشتن یک فایل متن در هر پوشه،‎هارد کپی و ... استفاده می‌کنند.
سرس کنترل عبارت است از سیستمی برای کنترل و پی‌گیری تغییرات واحد اطلاعاتی دخیل در ایجاد یک برنامهٔ نرم‌افزاری. واحد اطلاعاتی مزبور می‌تواند شامل فایل‌های سرس، راهنماها، میک فایل‌ها، اشیاء نرم‌افزاری و .... سرس کنترل به خصوص در جایی اهمیت پیدا می‌کند که چند برنامه‌نویس بخواهند روی منابع مشترکی کار کنند. در این صورت است که مفاهیمی همانند مقایسه، ترکیب، تداخل و ... پیش می‌آیند که سرس کنترل باید بتواند راه حل مناسبی برای هر یک ارایه دهد. امروزه معمولاً از ابزارهای نرم‌افزاری برای این کار استفاده می‌شود. با این حال هنوز هم هستند شرکتهایی که از روش‌های قدیمی مانند داشتن یک فایل متن در هر پوشه،‎هارد کپی و ... استفاده می‌کنند.
این نرم افزار علاوه براینکه این امکان را فراهم می‌کنند که شما به صورت گروهی روی یک سورس کار کنید از سورس شما محافظت می‌کند ؛ همیشه یک نسخه به روز از سورس در یک مکان امن قرار دارد، تمامی تغییرات محفوظ می‌ماند، حتی شما میتوانید قطعه کدی که سالها پیش نوشته اید را بازیابی نمایید و...
خیلی از ما تا کنون نام نرم افزار‎های Source Control را نشنیده ایم، برخی شنیده ولی استفاده نکردایم بعضی دیگر هم بدون این نرم افزار‎ها حتی یک خط کد حاضر نیستیم بنویسیم !
نرم افزار‎های Source Control زیادی وجود دارد که برخی از آنها عبارتند از :
Microsoft Visual Source Safe
Rational Clear Case
Microsoft Team Fundation Server
CVS
Visual Source Hide
Subversion
نصب و کار کردن با برخی از این نرم افزار‎ها مانند Source Safe و Team Fundation و Rational Clear بسیار مشکل بوده و توسعه گر را از ادامه کار خسته می‌کند، برخی هم فقط برای لینوکس بوده و در ویندوز کارایی ندارند (مانند CVS که نرم افزار بسیار خوبی می‌باشد) و اما نرم افزار SVN یا Subverion که  یکی از قوی‌ترین و مشهورترین نرم افزارهای سورس کنترل در دنیا می‌باشد و علاوه بر سادگی، رایگان و سورس باز بودن از ویژگی‎های زیادی نسبت به سایر نرم افزار‎ها برخوردار است .
این نرم افزار دارای یک سرور و یک کلاینت می‌باشد، دقت نمایید که معمولا نرم افزار سرور را در یک PC یا Server جداگانه نصب می‌کنند تا تمامی سورس‎ها و نسخه‎های آن در یک دستگاه دیگر و در یک جای امن باشد، اما در صورت نداشتن یک دستگاه جداگانه میتوانید سرور و کلاینت را در یک کامپیوتر نصب نمایید .
برای شروع کار ابتدا نرم افزار Visual SVN Server را دانلود کرده و نصب نمایید، در هنگام نصب تمام موارد را به صورت پیش فرض انتخاب نموده تا به تنظیمات زیر برسید :
 
فیلد Server Port را به 8443 تغییر داده، همچنین میتوانید فیلد Repositories را به دلخواه تغییر دهید، این مسیری است که تمام سورس‎ها و نسخه‎ها در آن ذخیره خواهد شد، نحوه تشخیص هویت را هم به صورت پیشفرض Use Subversion Authentication انتخاب نمایید .
دکمه Next را انتخاب کرده و عملیات نصب را به اتمام برسانید .
نرم افزار Visual Svn Server را اجرا کرده و قبل از هرچیز یک User ایجاد نمایید :
پس از ایجاد یک User جدید، روی درختواره Repositories کلیک راست نموده و گزینه Create New Repository را برگزینید.
در پنچره باز شده نام پروژه خود را وارد نمایید (پروژه‎ای که قرار است تحت سورس کنترل قرار گیرد ) :
و سپس تیک Creat default structure را بزنید و در نهایت روی دکمه OK کلیک نمایید تا Repository ایجاد شود . تنها چیزی که ما الان لازم داریم آدرس Repository است، برای اینکار روی Repository که ایجاد کرده اید کلیک راست کرده و گزینه Copy URL to Clipboard را انتخاب نمایید.
این آدرس را در یک جا Paste نمایید چون در مرحله بعد به آن نیاز خواهیم داشت .
اکنون مخزن سورس‎های ما آمادست، کار ما با Visual SVN Server تمام شده است، همچنین اگر این نرم افزار را روی یک PC دیگر نصب کردید کار ما با این PC نیز تمام شده است اکنون به سراغ کامپیوتری که سورس‎های ما در آن قرار دارد می‌رویم .
برای کلاینت سورس کنترل، نرم افزار‎های زیادی وجود دارد از جمله نرم افزار TortoiseSVN که رایگان بوده و میتوانید آن را از اینجا دانلود نمایید .
پس از دانلود و نصب نرم افزار tortoiseSVN به سراغ پوشه پروژه خود بروید،  روی پوشه پروژه کلیک راست کرده و گزینه SVN Checkout را انتخاب کنید :
 اکنون همان آدرسی که در مرحله قبل ذخیره کرده بودید (توسط Copy URL to Clipboard) را در این فیلد URL of repository وارد نمایید :
به فیلد ckeckout directory بسیار دقت نمایید، دراین فیلد باید آدرس پوشه پروژه را بدهید، اگر پروژه شما به نام MyWebsite و در C:InetpubWwwroot قرار دارد checkout directory باید C:InetpubwwwrootMywebsite باشد، بقیه فیلد‎ها را هم به صورت پیشفرض رها کنید .
دکمه OK را بفشارید، احتمالا پیغام The target folder is not empty را دریافت خواهید کرد، گزینه Yes را انتخاب کنید و سپس Accept Permanently را برگزینید، در پنجره باز شده Username و Password که در Visual SVN Server ساخته بودید را وارد کرده و تیک Save Authentication را بزنید تا هر دفعه نیاز به وارد کردن این اطلاعات نباشد .
با این کار این پوشه به عنوان سورس Repository شما معرفی خواهد شد .
برای قرار گرفتن سورس‎ها در Repository کافیست روی پوشه پروژه کلیک راست کرده و این دفعه گزینه "SVN Commit" را بفشارید :
 
 یک پنجر مشابه پنجره زیر گشوده خواهد شد :
 در بخش بالایی (Message) میتوانید توضحیاتی در مورد تغییرات خود روی پروژه بنویسید، در بخش پایینی فایل‎هایی که تغییر کرده است نمایش داده شده است، با انتخاب گزینه Select / Deselect all میتوانید همه فایل‎ها را انتخاب نمایید . چون بار اولی است که این کار را برای پروژه انجام می‌دهید لازم است تا همه  فایل‎ها انتخاب شود بنابراین هم تیک Show universioned files و هم تیک select all را بزنید تا همه فایل‎ها انتخاب گردد .
کار تقریبا تمام شده است، فایل‎های شما در Repository قرار گرفته و ورژن اول سورس شما ایجاد شده است .
از این پس میتوانید پس از تغییر دادن در سورس پروژه (مثلا اضافه کردن یک ماژول و یا برطرف کردن یک Bug) همین کار را تکرار کنید، یعنی روی پوشه پروژه راست کلیک کرده و گزینه Commit را بفشارید، پیشنهاد می‌کنم حتما در قسمت Message توضیحات تغییرات خود را به دقت بنویسید چرا که با زیاد شدن Version‎ها در پیدا کردن یک نسخه از سورس خود به مشکل بر میخورید.

Comparison of version-control software - Wikipedia


           

2000-2016 CMS Fadak. ||| Version : 4.2-b2 ||| This page was produced in : 0.009 Seconds