З SVN легко повернути об'єкт на об'єкт, але як це зробити з Git?
З SVN легко повернути об'єкт на об'єкт, але як це зробити з Git?
Відповіді:
Щоб створити новий комітет, який "скасовує" зміни минулого комітету, використовуйте:
$ git revert <commit>
Також можливо фактично видалити комісію з довільної точки в минулому шляхом скидання і повторного скидання, але ви дійсно не хочете цього робити, якщо ви вже перенесли свої зобов'язання в інше сховище (або хтось інший вийшов з вас) .
-m <parent number>
варіант, git revert
щоб вказати, яку зміну потрібно відновити. Якщо ви хочете скасувати злиття неопублікованої історії, скористайтеся git reset --hard HEAD^1
.
-m
засобів майбутнього злиття з нез’єднаної гілки не буде включати зміни до цього об'єднання! Дивіться schacon.github.com/git/howto/revert-a-faulty-merge.txt щодо правильних способів повторного об'єднання нез’єднаної гілки.
Щоб повернути злиття Комміт, ви повинні використовувати: git revert -m <parent number>
. Так, наприклад, для повернення останнього найпоширенішого з’єднання за допомогою батьківського з номером 1 ви б використали:
git revert -m 1 HEAD
Щоб скасувати об'єднання об'єднання до останнього, ви зробите:
git revert -m 1 HEAD^
Використовуйте, git show <merge commit SHA1>
щоб побачити батьків, нумерація - це порядок їх появи, наприкладMerge: e4c54b3 4725ad2
документація щодо злиття git: http://schacon.github.com/git/git-merge.html
обговорення git merge (заплутане, але дуже детальне): http://schacon.github.com/git/howto/revert-a-faulty-merge.txt
git show <merge commit SHA1>
щоб побачити батьків, нумерація - це порядок їх появи, наприкладMerge: e4c54b3 4725ad2
git revert -m 1 SHA1
Ця команда працювала для того, щоб повернути об'єкт злиття, який був декількома об'єднаннями об'єднань перед заголовком і мав багато комірок під ним.
git reset --hard HEAD^
Використовуйте вищезазначену команду для відновлення змін об’єднання.
Якщо ви не хочете взяти на себе зобов’язання або хочете взяти на себе зобов’язання пізніше (для вас все одно буде підготовлено повідомлення про фіксацію, яке ви також можете редагувати):
git revert -n <commit>