التحكم في الإصدار سهل التراجع عن مطور Windows Single
-
26-09-2019 - |
سؤال
أحتاج حقًا إلى البدء في التحكم في المصدر لأنني سأتابع تمامًا تتبع الكود والتعديلات كما هي.
أنا مطور واحد على Windows. أستخدم Eclipse لمعظم تطوري. يتم حفظ بعض مشاريعي في مجلد WAMP/WWW. المشاريع الأخرى غير PHP في مساحات عمل Eclipse واحدة أو أكثر.
أنا لا أعمل في فريق مع مطورين آخرين ، لذا فإن احتياجاتي مختلفة بهذه الطريقة:
أحتاج إلى شيء يتيح لي إنشاء مستودع محلي. لا تريد الاعتماد على موقع خارجي. ما أحتاجه هو التحكم في الإصدار ، وليس النسخ الاحتياطي الخارجي.
النسخة الاحتياطية السهلة مهمة حقًا بالنسبة لي. أحتاج بسهولة إلى النسخ الاحتياطي واستعادة المستودع إذا قمت بتنسيق جهاز الكمبيوتر الخاص بي. وجدت هذا السؤال هذا يشير إلى عنصر تحكم في الإصدار يسمى Fossil والذي يبدو جذابًا حقًا في حالتي ، لأن النظام بأكمله عبارة عن ملف SQLite. سيكون من السهل جدًا النسخ الاحتياطي والاستعادة ، لكنني أفضل أن يكون هناك شيء أكثر شهرة إذا كان هناك أي أنظمة إصدار معروفة أخرى تتيح لي أن أفعل نفس الشيء.
fossil-scm.org/index.html/doc/tip/www/index.wiki
أحتاج إلى شيء يفضل أن يلعبه مع Wamp.
أنا أميل إلى جانب Git لأن الكثير من الناس يتحدثون عن ذلك ، لكنني أتساءل عما إذا كان هذا هو الشيء الصحيح بالنسبة لي حقًا. لدي شعور بأنه الأفضل للفرق.
المحلول
واحدة من مزايا Fossil القوية هي أنه تم تصميمه لـ "الاحتفال المنخفض". ليس عليك القيام بالكثير من التكوين لأي شيء ، ويمكن الاحتفاظ بملف قاعدة البيانات نفسه محليًا ، وهو في الغالب يبقى بعيدًا عن الطريق.
لقد كنت أستخدمها في عدد قليل من المشاريع التي يتم تطويرها في الغالب من قبل المبدئي وأصبحت مرتبطًا بها تمامًا.
يحتوي على مجتمع مستخدم صغير جزئيًا لأنه لم يكن لديه الكثير من التسويق العلني أو التبشير. لكن هذا المجتمع يعوض عن افتقاره إلى التسويق من خلال الاستجابة الشديدة في قائمته البريدية.
ولكنه أيضًا عنصر تحكم الإصدار يقف خلف SQLite ، لذلك فهو مستخدم لـ SQLite لملف قاعدة البيانات الخاص به ، بالإضافة إلى أداة دعم مهمة لتنفيذ SQLite.
حتى بالنسبة لمستخدم واحد ، فإن الاستفادة من سهولة تكرار المستودع هو وسيلة جيدة لتوفير نسخة احتياطية. إخفاء مستودعاتك على جهاز ثانٍ مع الحد الأدنى من تكوين CGI ويمكنك تلقائيًا عملك والحصول على نسخة احتياطية حية. ضع هذا الجهاز في منزل أحد الأصدقاء أو في مضيف ويب غير مكلف ولديك نسخة احتياطية خارج الموقع.
يحرر:
انظر الأحفوري الصفحة الرئيسية للحصول على نقطة انطلاق جيدة. يمكن الاطلاع على أي مستودع من خلال المدمج واجهة ويب مما يسمح بالوصول إلى إعدادات الجدول الزمني ونظام التذاكر و Wiki و Project. يمكن أيضًا استخدامه لعرض المستندات التي يتم فحصها في المستودع. في الواقع ، يتم تقديم جميع الروابط إلى الصفحات في موقع الويب الأحفوري بواسطة نسخة من الأحفوري.
هناك كتاب لائق في شكل مسودة يسير خلال عملية استخدام الأحفوري للمهام المشتركة في مشروع بحجم معقول.
ال مستودع مصدر SQLite يتم الحفاظ عليها أيضًا بواسطة Fossil ، ويتم تقديم واجهة الويب الخاصة بها بواسطة نسخة من الأحفوري أيضًا. يتم إبقاء جميع مستودعات SQLite ومستودع الأحفوري متزامن بين العديد من الخوادم المنفصلة جغرافيا بواسطة وظائف CRON التي تفعل الدورية fossil sync
الأوامر.
إحدى الطرق السهلة للحصول على مستودع مع تاريخ غني للعب معه هي استنساخ المصدر لحفريات نفسها. للقيام بذلك ، ضع نسخة من الأحفوري القابلة للتنفيذ في طريقك ، ثم في مجلد فارغ في مكان ما يقول
C:...>fossil clone http://www.fossil-scm.org/ fossil.fossil C:...>mkdir src C:...>cd src C:...>fossil open ../fossil.fossil
أنت الآن تقف في مستودع أحفوري مفتوح يحتوي على رمز المصدر الكامل وتاريخ المراجعة للحفرية. مع توفر GCC و AWK و Zlib ، يجب أن تكون قادرًا على بنائه من المصدر. (على Windows ، من الأسهل بناء مع Mingw من موجه Msys Bash في تجربتي.)
يمكنك القيام به بشكل دوري fossil update
للحفاظ على استنساخك الحالي ، وأوصيك المحاولة fossil ui
لرؤية الطاقة الكاملة لواجهة الويب مع الوصول الإداري إلى استنساخك.
نصائح أخرى
اعتقد انه Mercurial
خلال TortoiseHg
ستكون بداية لطيفة للغاية للمبتدئين في SCMS (نعم ، أعرف ذلك git
رائع أيضًا ، لكن IMHO صعب للغاية بالنسبة للمبتدئين)
GIT سهل للغاية للنسخ الاحتياطي. المستودع مستقل تمامًا ويمكن نسخه إلى آلة أخرى أو محترق إلى DVD. الاستعادة بسيطة مثل نسخ الريبو مرة أخرى إلى الجهاز المحلي الخاص بك.
إذا كان لديك جهاز ثانٍ أو محرك أقراص خارجي أو موقع خارج الموقع ، فيمكنك استخدام GIT أو Mercurial للتحكم القوي للمصدر والنسخ الاحتياطية الفائقة.
لقد وجدت Mercurial أسهل قليلاً لتعلم أن Git ، ومع ذلك سأستخدم Git كمثال هنا لأن هذا ما اعتدت عليه.
cd <my source folder>
git init
git add .
git commit -m "Committing all my code"
cd <my backup folder>
git clone --mirror <path to my source folder>
(الآن لديك نسختان من نظام التحكم في التعليمات البرمجية المصدر! إذا فقدت واحدة ، فلديك الآخر). يمكنك الانتقال إلى المجلد الاحتياطي .GIT واكتب "سجل git" للتحقق من وجود ارتباطاتك.
دعنا نربطهم حتى يمكن إبقاء المرآة بسهولة متزامنة:
cd <my source folder>
git remote add origin <path to my backup folder\foo.git>
الآن بعد إجراء تغييرات وارتكابها ، أرسلها إلى نسختك الاحتياطية مع:
git push
يبدو كل من Git و Mercurial و Bazaar كما يمكن أن يتناسب مع احتياجاتك. جميعهم يخزنون محتويات المستودع في مجلد واحد (على سبيل المثال ، git في أ .git
المجلد) ، مما يجعلها بسيطة إلى حد ما للنسخ الاحتياطي - فقط نسخ هذا المجلد إلى وسط النسخ الاحتياطي.
اكتسبت Git الكثير من الزخم خلال السنوات القليلة الماضية. أراهن أنك تختار git استنادًا إلى الانهيار الجليدي للمراجعات والتعليقات. ولكنها مبالغة لمطور واحد.
أود أن أقول أن التخريب سوف يناسبك الأفضل. أمر النسخ الاحتياطي هو 'svnadmin dump> filename.svn أمر الاستعادة هو تحميل svnadmin
تعد Fossil أيضًا جيدة جدًا إذا كنت ستستخدم الويكي وتتبع العيب الذي يأتي معه.
إذا كنت بعد واجهة رسومية ، فحاول perforce. يحتوي الإصدار المجاني على جميع ميزات الإصدار الكامل باستثناء أنك تقتصر على عدد معين من الحسابات.