Как объединить изменения в Mercurial - PullRequest
1 голос
/ 21 февраля 2012

Я использовал hg clone для получения рабочей копии проекта в локальной папке

hg clone http://example.com/prj

Я хочу изменить некоторые файлы в соответствии с моими потребностями. Например, оригинальный файл выглядит так:

int main() {
   cout << "hello";
   return 0;
}

Итак, я изменил это так:

int main() {
   int a = 0;
   cout << "hello";
   return 0;
}

Позже основной репозиторий изменяется и выглядит следующим образом (сравните с первым фрагментом):

int main() {
   for (int i=0; i<10; i++ )
      cout << "hello";
   return 0;
}

Теперь, когда я бегу

hg pull
hg update

мое изменение int a=0; потеряно.

1 Ответ

3 голосов
/ 21 февраля 2012

Подробный курс о том, как распределяется работа SCM, и, кроме того, КАК их использовать , пожалуйста, прочитайте либо

Или:

На самом деле, не происходит, если вы помните hg commit после внесения изменений.У вас просто будет хранилище с 2 головками, которое вам потребуется hg merge, например:

$ hg pull
pulling from /tmp/remote
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files (+1 heads)
(run 'hg heads' to see heads, 'hg merge' to merge)
$ hg merge
  int main() {            |  int main() {            |  int main() {
      int a = 0;          |      for (int i=0; i<10 ;|      cout << "hello";    
      cout << "hello";    |          cout << "hello";|  ------------------------
      return 0;           |      return 0;           |      return 0;
  }                       |  }                       |  }

Чтобы узнать, как использовать Mercurial, прочитайте онлайн-книгу

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...