أمر العودة إلى الحالة السابقة (تحكم الإصدار Team Foundation)

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

الأذونات المطلوبة.

لتستخدم هذا الأمر, يجب أن يكون لديك إقرأ انظر و إيداع أذونات للسماح. لمزيد من المعلومات، راجع أذونات خادم أساس الفريق.

tf rollback /toversion:VersionSpec ItemSpec [/keepmergehistory]
[/lock:none|checkin|checkout] [/login:username,[password]]
[/recursive] [/noprompt]

tf rollback /changeset:ChangesetFrom~ChangesetTo [ItemSpec]
[/lock:none|checkin|checkout] [/login:username,[password]]
[/recursive] [/noprompt]

المعلمات

الوسيطة

الوصف

ChangesetFrom~ChangesetTo

استخدم هذه الوسيطة مع الخيار /changeset لتحديد مجموعات التغيير التي تريد إظهارها في الخلفية. يمكنك تحديد مجموعات التغيير في أي من الطرق التالية:

  • مجموعة تغيير واحدة

    مثال: /changeset:C11

  • نطاق مجموعات التغيير

    مثال: /changeset:C7~C20

  • التاريخ

    مثال: /changeset:D09/30/09

  • نطاق التواريخ

    مثال:/changeset:D09/23/09~D10/07/09

  • مجموعات التغيير الأحدث

    مثال: /changeset:Tip أو /changeset:T

ItemSpec

استخدم هذه الوسيطة لتحديد عنصر واحد أو أكثر الذى تريد استرجاعه الإصدار السابق. إذا كنت تستخدم خيار /toversion ، يجب تحديد هذه الوسيطة.

للحصول على مزيد من المعلومات حول كيفية توزيع Team Foundation راجع مواصفات بناء جملة سطر الأوامر (التحكم بالإصدار).

VersionSpec

استخدم هذه الوسيطة مع الخيار /toversion للعودة بالملف إلى حالته في مجموعة تغيير معينة. يمكنك تحديد نطاق في أي من الطرق التالية:

  • مجموعة تغيير واحدة

    مثال: /toversion:C32

  • تاريخ (في منتصف الليل)

    مثال: /toversion:D06/19/09

  • التاريخ والوقت

    مثال: /toversion:D06/19/09T14:32

  • تسمية

    مثال: /toversion:LTestLabel

  • الإصدار في مساحة العمل التي تم تعيينها إلى الدليل الحالي

    مثال: /toversion:W

  • الإصدار في مساحة عمل معينة

    مثال: /toversion:WResolveRIConflicts;AKerry

للحصول على المعلومات حول كيفية Team Foundation راجع توزيع مواصفات الإصدار بناء جملة سطر الأوامر (التحكم بالإصدار).

الخيار

الوصف

/changeset

استخدم هذا الخيار لتحديد واحد أو أكثر من مجموعات تغيير معينة التي تريد مقابلها.

/keepmergehistory

لهذا الخيار تأثير فقط إذا كان واحد أو أكثر من مجموعات التغييرالتى يتم إظهارها تتضمن branch أو merge التغيير. حدد هذا الخيار إذا كنت تريد الدمج مستقبليا بين نفس المصدر و الهدف لاستبعاد التغييرات .

لمزيد من المعلومات، راجع . خيار الحفاظ على دمج التاريخ .

/lock

حدد هذا الخيار لمنع المستخدمين الآخرين من إيداع أو سحب العناصر حتى تنتهي من استعادة كافة التغييرات المقترنة. لمزيد من المعلومات، راجع فهم أنواع التأمين.

خيارات القفل:

  • لا يوجد

    يكون هذا هو الإعداد الافتراضي. لم يتم تطبيق التأمين. إذا كان الملف الذى يتم إعادته موؤمن ، يزيل هذا الخيار التأمين.

  • الإيداع

    قفل عنصر حتى يتم تحرير القفل بواسطة القيام فحص-في. مستخدمون آخرون يمكن يسحب عناصر المحددة، ولكن لا يمكن المستخدمين يودع revهوions حتى يتم التأمين هو إزالتها. لا يمكن تأمين ملف الذي تم تأمينه بالفعل.

  • السحب

    منع المستخدمين من إيداع أو سحب عنصر مؤمن حتى إزالة التأمين عن طريق إجراء إيداع.

/login

للحصول على معلومات حول هذه المهمة، راجع خيارات سطر الأوامر.

/noprompt

منع أية مربعات حوار وإلا تظهر أثناء هذه العملية.

/recursive

حدد هذا الخيار إذا كنت ترغب في أن يشتمل التشغيل على العناصر في المجلدات الفرعية.

/toversion

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

ملاحظات

الأمر tf rollback يلغى تأثير كل مجموعة تغييرالتى تم تحديدها لكل عنصر تحدده. قوائم الجدول التالي توضح كيفية إلغاء كل نوع من التغيير.

إذا تم استرجاع هذا التغيير …

..تغيير الإستعادة و إجراء التغيرات الآتية

add, branch, أو undelete.

delete

edit

edit

encoding

encoding

rename/move

rename/move

delete

undelete

merge

التغيرات التى تلغى أي تغييرات تم جمعها فى الفرع الآتى.

توفر القائمة التالية بعض الأمثلة عن التغييرات التي تنتج عن أمر الاستعادة:

  • إذا قمت باستعادة مجموعة تغيرات حيث add حدث، تغيير الاستعادة يتسبب فى تغيير rollback و delete .

  • إذا قمت يتم استعادة مجموعة تغيير 521 حيث حدث edit الاستعادة تسبب تغيير rollback و edit التى تلغى التغييرات المحاطة بواسطة edit التغيير في مجموعة التغيير 521.

  • في مجموعة تغييرات 132 حرفاً، يمكنك دمجها من $/BranchA/File1.txt إلى $/BranchB/File1.txt. التغييرات التي يتضمنها دمج مُضمن editالتغييرات في changesets 92 و 104. في التغييرات عداد 162، يمكنك استرجاع التغييرات عداد 132، الذي ينتج rollbackتغيير editالتغيير إلى $/BranchB/File1.txt negates التحرير التغييرات في التغييرات ets 92 و 104.

رمز الإنهاء

تظهر رموز الإنهاء في الجدول التالي بعد تشغيل الأمر tf rollback .

رمز الإنهاء

الوصف

0

العملية تسترجع كافة العناصر بنجاح.

1

العملية التى أرجعت عنصر واحد على الأقل بنجاح ولكن قد لا تسترجع عنصر آخر أو أكثر.

100

العملية قد لا استرجاع أية عناصر.

أمثلة

يلي مثال negates تأثير مجموعة تغييرات 23 تشغيل كل العناصر التي تم تغييرها في ذلك مجموعة تغييرات.

c:\workspace> tf rollback /changeset:C23

يلي مثال negates تأثير مجموعة تغييرات 23 تشغيل a.txt الملف.

c:\workspace> tf rollback /changeset:C23 a.txt

المثال التالي بتغيير محتويات a.txt إلى يتطابق مع النسخة التي تم فحصها بواسطة مجموعة تغييرات 23.

c:\workspace> tf rollback /toversion:C23 a.txt

المثال التالي بتغيير محتويات OurTeamProject إلى مطابقة مجموعة تغييرات الأخيرة التي تم تطبيقها في أو قبل منتصف الليل تشغيل 31 أغسطس، 2009.

c:\workspace> tf rollback /toversion:D08/31/2009 /recursive $/OurTeamProject/

مثال: خيار الحفاظ على دمج التاريخ .

عندما تقوم باسترجاع مجموعة التغيير يتضمن فرع أو تغيير دمج الذي تريده دمج مستقبلية بين نفس المصدر و الهدف لتضمن تلك التغييرات. ومع ذلك، يمكنك استخدام الخيار /keepmergehistory إذا كنت تريد مستقبليا الدمج بين نفس المصدر و الهدف لاستثناء مجموعات التغيير تم شملها في عملية الدمج الماضية.

على سبيل المثال، يمكنك استخدام هذا الأمر في الحالة التالية:

  1. في تشغيل يونيو 30, 2009، إجراء دمج كامل لكافة عناصر من/BranchA/$ إلى $/BranchB/:

    c:\workspace> tf merge $/BranchA $/BranchB
    

    إيداع هذا الدمج كجزء من مجموعة التغيير 292.

  2. في يوليو، يمكنك إجراء تغييرات عديدة $/BranchA/Util.cs. يتم شمل هذه التغييرات في مجموعة التغيير 297 و 301 305.

  3. في 1 أغسطس، 2009، يمكنك دمج $/BranchA/Util.cs إلى $/BranchB/Util.cs:

    c:\workspace> tf merge $/BranchA/Util.cs $/BranchB/Util.cs
    

    يودع تغييرات كـ جزءا من مجموعة تغييرات 314. نتيجة لهذه تشغيل هو أن عمليات التحرير التي قمت بإجرائها في changesets 297 301 و 305 إلى $/BranchA/Util.cs الآن كما يتم أيضا تطبيق إلى $/BranchB/Util.cs.

  4. أسبوع لاحقاً، يمكنك تحقيق التي عمليات التحرير التي قمت بها إلى $/BranchA/Util.cs في يوليو غير مناسبة $/BranchB/Util.cs. يمكنك استخدام أمر العودة إلى الحالة السابقة لإلغاء هذه التغييرات. عند استخدام أمر العودة إلى الحالة السابقة لاسترجاع التغيير merge أو branch لديك القرار.

    • إذا أردت التغييرات التي أجريتها في يوليو $/BranchA/Util.cs دمج إلى أن re-applied إلى $/BranchB/Util.cs في المستقبل، فيجب عليك نوع الأمر التالي:

      c:\workspace> tf rollback /changeset:314
      
    • إذا أردت أن التغييرات التي أجريتها في يوليو $/BranchA/Util.cs لا يمكن re-applied إلى $/BranchB/Util.cs في المستقبل دمج، يجب أن تقوم بكتابة الأمر التالي:

      c:\workspace> tf rollback /changeset:314 /keepmergehistory
      
  5. أسابيع القليلة لاحقاً، يمكنك دمج/BranchA/$ $/BranchB/:

    c:\workspace> tf merge $/BranchA $/BranchB
    
    • إذا حذفت /keepmergehistoryخيار، mergeسيتم يطبق التغيير إلى $/BranchB/Util.cs مجموعة تغييراتs الجميع التي تم يطبقها إلى $/BranchA/Util.cs منذ مجموعة تغييرات 292، بما في ذلك مجموعة تغييراتs 297، 301، 305. في غير ذلك سيتم مرحلة التراجع الكلمات، ودمج مستقبلية rollbackتغيير.

    • إذا قمت بتضمين /keepmergehistoryخيار، سيتم تطبيق عملية الدمج إلى $/BranchB/Util.cs مجموعة تغييراتs الجميع التي تم تطبيقها إلى $/BranchA/Util.cs منذ مجموعة تغييرات 292، باستثناء مجموعة تغييراتs 297 301 و 305. في كلمات غير ذلك، عملية دمج مستقبلية سوف لا التراجع تغيير العودة إلى الحالة السابقة. ولذلك، المحتوى تشغيل BranchA قد لا تتطابق مع المحتوى تشغيل BranchB.

راجع أيضًا:

المرجع

دمج الأوامر

المبادئ

العمليات المتوفرة فقط من سطر الأوامر ( الإصدار التحكم لفريق الأساس)

موارد أخرى

TF أداة سطر أوامر