أمر العودة إلى الحالة السابقة (تحكم الإصدار 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 لتحديد مجموعات التغيير التي تريد إظهارها في الخلفية. يمكنك تحديد مجموعات التغيير في أي من الطرق التالية:
|
ItemSpec |
استخدم هذه الوسيطة لتحديد عنصر واحد أو أكثر الذى تريد استرجاعه الإصدار السابق. إذا كنت تستخدم خيار /toversion ، يجب تحديد هذه الوسيطة. للحصول على مزيد من المعلومات حول كيفية توزيع Team Foundation راجع مواصفات بناء جملة سطر الأوامر (التحكم بالإصدار). |
VersionSpec |
استخدم هذه الوسيطة مع الخيار /toversion للعودة بالملف إلى حالته في مجموعة تغيير معينة. يمكنك تحديد نطاق في أي من الطرق التالية:
للحصول على المعلومات حول كيفية Team Foundation راجع توزيع مواصفات الإصدار بناء جملة سطر الأوامر (التحكم بالإصدار). |
الخيار |
الوصف |
---|---|
/changeset |
استخدم هذا الخيار لتحديد واحد أو أكثر من مجموعات تغيير معينة التي تريد مقابلها. |
/keepmergehistory |
لهذا الخيار تأثير فقط إذا كان واحد أو أكثر من مجموعات التغييرالتى يتم إظهارها تتضمن branch أو merge التغيير. حدد هذا الخيار إذا كنت تريد الدمج مستقبليا بين نفس المصدر و الهدف لاستبعاد التغييرات . لمزيد من المعلومات، راجع . خيار الحفاظ على دمج التاريخ . |
/lock |
حدد هذا الخيار لمنع المستخدمين الآخرين من إيداع أو سحب العناصر حتى تنتهي من استعادة كافة التغييرات المقترنة. لمزيد من المعلومات، راجع فهم أنواع التأمين. خيارات القفل:
|
/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 إذا كنت تريد مستقبليا الدمج بين نفس المصدر و الهدف لاستثناء مجموعات التغيير تم شملها في عملية الدمج الماضية.
على سبيل المثال، يمكنك استخدام هذا الأمر في الحالة التالية:
في تشغيل يونيو 30, 2009، إجراء دمج كامل لكافة عناصر من/BranchA/$ إلى $/BranchB/:
c:\workspace> tf merge $/BranchA $/BranchB
إيداع هذا الدمج كجزء من مجموعة التغيير 292.
في يوليو، يمكنك إجراء تغييرات عديدة $/BranchA/Util.cs. يتم شمل هذه التغييرات في مجموعة التغيير 297 و 301 305.
في 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.
أسبوع لاحقاً، يمكنك تحقيق التي عمليات التحرير التي قمت بها إلى $/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
أسابيع القليلة لاحقاً، يمكنك دمج/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.
راجع أيضًا:
المرجع
المبادئ
العمليات المتوفرة فقط من سطر الأوامر ( الإصدار التحكم لفريق الأساس)