حفرية:إضافة ملفات إلى الريبو الموجود، هل أحتاج إلى فتحها أولاً؟

StackOverflow https://stackoverflow.com//questions/22051797

  •  21-12-2019
  •  | 
  •  

سؤال

أرغب في التحكم في إصدارات دليل ، دعنا نسميها "مشروع" ، والحفاظ على الملفات الأحفورية داخل دليل آخر يدعى "أحفوريات". لقد أنشأت مستودع "Project.fsl" ، وأضفت ملفات المشروع ، والالتزام ، والإغلاق.مشكلتي هي فهم كيفية اتخاذ الخطوة التالية.

هذا ما أفعله، بعد fossilbook اقتراحات.

$ cd project
$ fossil new ../fossils/project.fsl
$ fossil open ../fossils/project.fsl
$ fossil add .
$ fossil ci -m "first commit"
$ fossil close project.fsl

لقد عملت الآن على مشروعي، وقمت بتحرير بعض الملفات، وحذف بعض الملفات، وإنشاء بعض الملفات، وإعادة تسمية بعض الملفات.أرغب في إضافة الحالة الحالية للمشروع إلى المستودع.كيف يمكنني فعل ذلك؟

بناءً على ما قرأته في المستند، كان لدي انطباع بأنه كان عليّ أولاً فتح المستودع، ثم إضافة الملفات، ثم الالتزام.إذا لم أفتح المستودع، سأحصل على Not within an open checkout. رسالة.ولكن إذا أنا open يريد الأحفوري استبدال الدليل الخاص بي بالملفات القديمة.(وإذا فتحت من داخل fossils الدليل، أحصل على نسخة "مفككة" من مشروعي منسوخة في دليل الحفريات، وليس ما أريده أيضًا)

$ cd project
$ fossil open ../fossils/project.fsl

هنا يريد الأحفوري استبدال مشروعي بالإصدار الأقدم.أقول لا لكل اقتراح.أظن openلم يكن النهج الصحيح، ولكن بعد ذلك إذا لم يكن ما هو؟

أريد إضافة تغييراتي إلى المستودع، والآن أصبح project.fsl موجودًا open, ، أحاول هذا:

$ fossil add .
 ADDED  Slides/tmp.tex

$ fossil commit -m "no idea what I'm doing, this will not end well"
 would fork.  "update" first or use --allow-fork.

$ fossil close
 there are unsaved changes in the current checkout

عند هذه النقطة أقوم بحذف جميع الملفات المخفية المسماة .fslckout .fossil وحاول مرة أخرى، مع نتائج مخيبة للآمال بالمثل.

لأكون صريحًا، اهتمامي الوحيد هو fossil هو الحفاظ على تاريخ مشروعي.ليس لدي مؤلفين مشاركين ولا أخطط للقيام بذلك fossil diff أو fossil ui أو أي شيء من هذا القبيل حتى يأتي ذلك الوقت، الذي آمل ألا يحدث أبدًا، عندما أحتاج إلى البحث في تاريخ مشروعي.

يحرر. أنا مبتدئ مجموع.لست متأكدًا من أنني أفهم معانيها checkout, manifest, leaf, ، إلخ.لذلك، فإنه يجعل من الصعب جدًا بالنسبة لي الحصول على أي شيء من الدليل، على الرغم من الساعات التي لا تعد ولا تحصى التي أمضيتها في المحاولة.لا أفهم الكثير من هذه الصفحة fossil open: http://fossil-scm.org/fossil/help/open

هل كانت مفيدة؟

المحلول

fossil open يكون الشيء الصواب لفعله.في حالتك، هو fossil close لم يكن ذلك ضروريا.

في هذه المرحلة، عليك أن تفعل fossil open ../fossils/project.fsl --keep لفتح الريبو الخاص بك مع الاحتفاظ بجميع التغييرات.

ال يفتح يقوم الأمر بوضع علامة على الدليل الحالي باعتباره a دليل العمل (في المصطلحات الأحفورية، أ الدفع).أنصحك بعدم إغلاقه حتى تحتاج إلى نقل الريبو الخاص بك أو دليل العمل نفسه.شخصيًا، يحدث هذا فقط عندما أنتقل إلى جهاز كمبيوتر مختلف.

لجعل الأحفوري يتعرف على جميع التغييرات، ما عليك سوى القيام بذلك fossil addremove;سيقوم الأحفوري بعد ذلك بإضافة جميع الملفات الجديدة وإزالة جميع الملفات المحذوفة، بحيث يتطابق المستودع مرة أخرى مع دليل العمل.وبطبيعة الحال، لا يزال يتعين عليك الالتزام بالتغييرات بعد ذلك.

ملحوظة الذي - التي addremove يفعل لا التعرف تلقائيًا على إعادة تسمية الملفات!إذا قمت بإعادة تسمية الملفات، فيجب عليك إخبار Fossil بذلك لكل ملف يستخدم الملف fossil rename يأمر، قبل تقوم بتنفيذ addremove يأمر.بالطبع، إذا كنت لا تمانع في كسر سجل التعديل لملفات معينة، فلديك الحرية في تخطي ذلك، ودع الأحفوري يعتقد أنه تم حذف ملف واحد وإضافة ملف آخر بدلاً منه.

نصائح أخرى

حفل منخفض وبدايات سهلة

بالنسبة لمطور واحد، يمكن أن تكون دورة حياة مستودع الحفريات بسيطة للغاية:

  1. fossil new لإنشاء ملف المستودع نفسه.
  2. fossil open لإنشاء مساحة العمل النشطة الأولى (أو ربما فقط).
  3. fossil add, fossil remove, fossil rename و fossil addremove لإبقاء الأحفوري على علم بالملفات التي يجب تتبعها.
  4. fossil commit لإجراء تغييرات على المستودع

حيث يتم تكرار الخطوتين 3 و4 حسب الحاجة طوال عمر المشروع.

هذه واحدة من أقوى مزايا الأحفوري:إنه حفل منخفض جدًا حسب التصميم.يمكنك الحفاظ على مشروع متقن للغاية بمفردك واستخدامه فقط fossil commit على أساس منتظم.

الخطوات التالية

يمكن للمرحلة التالية من التطور أن تتحرك في عدة اتجاهات.إذا كنت ترغب في مشاركة العمل في مشروع مع مطور ثانٍ، فستحتاج إلى معرفة المزيد حول استنساخ مستودع ومزامنة التحديثات.إذا كنت تريد السماح بالعمل المستقل على ميزة ما دون كسر بنيات الجذع، فيمكنك معرفة المزيد حول التفرع والدمج.إذا كنت ترغب في الاستفادة من ميزات wiki وتتبع التذاكر، فستحتاج إلى التعرف عليها fossil ui, fossil server أو قم بتكوين خادم الويب الخاص بك لإطلاق الأحفوري.

لكن لن تفعل أي من حالات الاستخدام هذه يتطلب استخدام fossil close يأمر.في الواقع، الإخراج fossil help تم تقسيمها مؤخرًا إلى قائمة أقصر من الأوامر التي يحتاجها معظم المستخدمين، وقائمة أطول تضم كافة الأوامر.في ذلك القسم fossil close لم يصنع القائمة القصيرة.الوظائف الوحيدة التي يؤديها والتي لا يمكن القيام بها بسهولة عن طريق الحذف البسيط للملفات هي التحقق من أن التغييرات ليست غير محفوظة وإزالة السحب المفتوح من قائمة الخروج الشخصية المتاحة لـ fossil all يأمر.

المفردات الخاصة بالحفريات

حتى مطورًا واحدًا سيرغب في تعلم بعض المفردات المستخدمة في توثيق الحفريات.

  • "تحقق في":مجموعة محددة من مراجعات الملفات، يتم تحديدها بواسطة UUID وربما بواسطة علامة واحدة أو أكثر.
  • "الدفع":شجرة المجلدات المرتبطة (بواسطة fossil open) مع مستودع محدد.تتطلب معظم الأوامر الأحفورية أن يكون الدليل الحالي ضمن عملية دفع مفتوحة.
  • "المعرف الفريد العالمي":معرف فريد لأي شيء محدد مخزن في مستودع الحفريات.في الممارسة العملية، UUID هو SHA-1 الذي يحتوي على الشيء المعبر عنه بالست عشري.في معظم الحالات، يمكن اختصار UUID إلى أرقام بادئة كافية للتجزئة الكاملة لتعريفه بشكل فريد.عادةً ما يتم كتابته على هيئة 8 أو 10 أرقام بين قوسين مربعين.
  • "الأداة":ملف أو محتوى آخر (صفحة wiki، تذكرة، بيان، إلخ.) مخزن في المستودع.كل ملف تقوم بإيداعه يصبح قطعة أثرية.وكذلك الأمر بالنسبة لجميع البيانات الوصفية (التعليقات والطوابع الزمنية وما إلى ذلك) حول كل تسجيل وصول.
  • "فرع":خط من عمليات تسجيل الدخول المتعاقبة التي تتفرع من بعض عمليات تسجيل الوصول الجذرية.تُستخدم الفروع لإبقاء التغييرات جانبًا حتى تصبح جاهزة للدمج، أو ببساطة لاحتواء التغييرات التي تعتبر أخطاء.
  • "ورقة":تسجيل الوصول في نهاية الفرع.
  • "صُندُوق":يُسمى الفرع الأول في أي مستودع باسم "الجذع".ستكون معظم الفروع الأخرى عبارة عن فروع من منطقة تسجيل الوصول على طول الجذع.
  • "يظهر":قائمة الملفات التي تم تعديلها في عملية تسجيل وصول معينة بالإضافة إلى البيانات الوصفية التي تصف عملية تسجيل الوصول هذه (المستخدم، والوقت، والوصف، وUUID الخاص بتسجيل الدخول الأصلي، وأي علامات قد تحملها) تشكل البيان.لا يحتاج معظم المستخدمين حقًا إلى القلق بشأن البيانات، حيث يتم إنشاؤها بواسطة fossil commit ويمكن مشاهدتها من واجهة الويب.

واجهة ويب

سيرغب أي مستخدم في التعرف على واجهة الويب الخاصة بالحفريات.الخطوة الأولى السهلة هي أن تقول fossil ui ضمن الخروج مفتوحة.يُظهر المخطط الزمني سجل التطوير مع عقدة لكل عملية تسجيل وصول، وخطوط مرسومة لإظهار التفرع والدمج.واجهة الويب قابلة للتكوين بشكل كبير، وتوفر موقع wiki وتتبع التذاكر، وتوفر أيضًا واجهة مستخدم يمكن من خلالها تعديل معظم الإعدادات المتعلقة بالمشروع والمستودع.

يعد Fossil نفسه خادم ويب فعالاً لمحتوى المستودع.في الواقع، معظم الصفحات في الموقع الرسمي للحفريات يتم تقديمها بواسطة الأحفوري نفسه من مستودع كود المصدر إلى الأحفوري.

مصادر لمزيد من المساعدة

وبصرف النظر عن موقع إلكتروني ومساعدة الأوامر الفردية المتاحة من fossil help, ، هناك العديد من الموارد الأخرى التي يجب أن يكون العديد من المستخدمين على دراية بها.

هنالك ال قائمة مستخدمي الحفريات مع نسبة إشارة إلى ضوضاء عالية باستمرار.يهتم المطورون الرئيسيون بذلك، كما يفعل العديد من المستخدمين المفيدين وذوي المعرفة.القائمة لديها واحد على الأقل أرشيف, ، بالإضافة إلى قائمة منفصلة للمطورين لمناقشة الميزات والخطط الجديدة، ولكن تطوير الأحفوري لن يكون مثيرًا للاهتمام إلا إذا كنت ترغب في العمل على الأجزاء الداخلية للحفريات نفسها.

جيم شيمبف لديه كتاب يحاول أن يكون برنامجًا تعليميًا ومرجعًا كاملاً، ويتضمن بعض النصائح حول أفضل الممارسات.أنها تستحق القراءة.

تتوفر أيضًا مساعدة سطر الأوامر المضمنة بالإضافة إلى الوثائق الخاصة بجميع عناوين URL للصفحات التي تفهمها واجهة الويب من واجهة ويب الأحفوري على /help عنوان URL داخل أي موقع مستودع.يتضمن نص المساعدة هذا وثائق لكل أمر، بما في ذلك أوامر الاختبار الداخلي غير المدعومة.

وأخيرًا، لا يمكن تجاهل [العلامة الأحفورية] [العلامة] الموجودة هنا في StackOverflow كمورد.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top