Вот ваши индивидуальные вопросы, по одному на раздел, с моим мнением / ответом на каждый.
7.Когда я в порядке и готов, я иду Sync-> Push (Так что все хорошо, верно?
Правильно.
Единственное, что может отличаться в этом рабочем процессе, это еслиКто-то еще толкает в тот же репозиторий. Если у вас это есть, в какой-то момент кто-то еще отправил наборы изменений в репозиторий, которого у вас нет локально. Когда вы пытаетесь протолкнуть свой набор, который создаст ветку в онлайн-репозитории,становится видимым несколькими «головами» (вы должны искать этот термин в контексте Mercurial, если не понимаете, что я имею в виду под этим.) Обычно вы не позволяете этому произойти, поэтому толчок будет прерван.
Когда он прерывается, вместо этого вы перетаскиваете наборы изменений из онлайн-хранилища в локальный, объединяете свою головку наборов изменений с головой, которую вы только что вытащили, и затем повторите попытку, что обычно будет успешным (если только вам не повезло).а кто-то еще подтолкнул больше тем временем.)
Что касается HgSCC и добавления файлов, у меня были проблемы с HgSCC, поэтомуотносился к VisualHg - http://visualhg.codeplex.com, именно потому, что, похоже, что-то не так с версией 1.52 HgSCC в отношении новых файлов.Если вы не можете найти решение для этого, я бы посоветовал вам попробовать VisualHG.
Вы забыли объединить?
Вы должны объединить свойменяется вместе, так что у вас снова только одна голова.В этом примере у вас есть 3 скриншота: «кнопка добавлена в форму 2», «финальный коммит» и «2nd prj (2)».Вы должны обновить тот, который вы считаете «большей частью вашего проекта», выбрать его, затем щелкнуть правой кнопкой мыши по одной из других головок и выбрать «Объединить с ...» в TortoiseHg, и завершить слияние и фиксацию.Каждый такой коммит слияния + удалял бы 1 голову, поэтому вам нужно как минимум 2 таких слияния, чтобы вернуться к 1 голове.
Печь и Фогкрик имеют другое представление о том, как обрабатывать ветви, чем многие другиеиметь.Они предлагают вам создать совершенно другое хранилище веток и работать в этом, вместо того, чтобы использовать именованные ветки.Именованная ветвь будет похожа на то, как вы называете три набора изменений на скриншоте (3, заканчивающиеся на «финальный коммит») как ветвь для добавления новой формы или исправления большой ошибки.
Поэтому вместо выполнениято, что вы сделали здесь, имея 3 головы, «путь» Килна состоял бы в том, чтобы иметь 3 клона, каждый из которых имеет только наборы изменений до их головки ветви.В основном у вас будет 1 клон репо со всем до «добавленной 2-й формы» и продолжением со «вторым проектом», но промежуточных наборов изменений там не будет.Второй клон будет иметь до «добавленной 2-й формы», а затем один дополнительный, помеченный «добавленной кнопкой к форме», а третий будет иметь «добавленной 2-й формы», а затем три, заканчивающиеся на «окончательный коммит».*
Конечно, в конце концов, когда вы толкаете и возвращаетесь к главному репозиторию, вы все равно получаете эти ветви, но они рекомендуют использовать такие репозитории для больших веток, таких как добавление больших функций, модулейи т. д.
Я предполагаю, что Mercurial обрабатывает объединение самостоятельно?
Объединение в вашем сценарии вступит в действие только в том случае, если у вас есть новые наборы изменений в обоихисходный репозиторий и в вашем клоне репозитория ветвлений.
Если у вас это есть, перемещение из репозитория веток в исходный репозиторий (или перетягивание другим способом) добавит новые головы в ваш целевой репозиторий.Это то, что слияние поможет вам избежать.
Таким образом, ваш рабочий процесс будет выглядеть следующим образом:
- Вставьте все изменения, которые у вас есть, в ваш репозиторий ветвей (т.е.по той причине, что вам сначала понадобился репозиторий веток, большое исправление, новая функция, большая перезапись, что угодно)
- Попробуйте перейти из репозитория веток в исходный репозиторий, получив сообщение, что это создаст головы в целихранилище, так что вы прервите это.
- Извлечь из исходного хранилища вниз в хранилище веток.Это создаст еще одну головку.
- Вытащите из хранилища веток в локальный репозиторий и выполните слияние здесь, обрабатывая все конфликты слияний и, наконец, фиксируя ваш набор изменений слияния
- Push из локального репозитория обратнов хранилище веток
- Завершите все проверки кода, которые вы, возможно, захотите сделать в Kiln, прежде чем делать его официальнымеще (или вы) проделали большую работу в исходном хранилище, вернитесь к шагу 3 и повторите)
разница между параметрами Просмотр истории и Просмотр журнала изменений
Разница только в том, что вы просматриваете.Просмотр истории всегда показывает историю для всего, что вы выбрали, будь то файл или сам файл решения, т.е.просто наборы изменений, включающие этот файл.
Просмотр журнала изменений просматривает журнал изменений для репозитория, независимо от того, что вы выбрали.