Я мерзавец, и я знаю, что мне здесь чего-то не хватает. У меня есть три ветви: мастер, Feature1 и Feature2. Нет двух одинаковых ветвей, но любая попытка слияния из одной ветви в другую приводит к появлению «актуального» сообщения. Как вы можете себе представить, я выполнил свою работу над Feature1 и Feature2, и теперь я просто хочу объединить эту работу с моим мастером.
Вот как выглядит мой текущий график:
* c719e79 master
|\
| * 3f38259 feature2
| * 4e2af8c
| * a6ee18c
| * 2339052
| * 2e31d49
| * 2586659
| * 8b4a194
| * 56200c1
| * 97598e3
| * c28bc8d
| * 68b2e2f
| * 1ad4ad8
| * 3d5f4ad
| * 83435ca
| * 4049428
| * 581134a
| * 6e5aa2d
* | 2c88093
|/
* 3130ec9 feature1
* 54a5311 INITIAL COMMIT
Есть идеи?
UPDATE
VonC - объяснение имеет смысл, но мое git-репо по-прежнему нет. Когда я переключаюсь на свою основную ветку и затем запускаю «$ git diff --stat feature2», я получаю следующий вывод:
$git diff --stat feature2
File1 | 2 +-
File2 | 6 +++---
File3 | 4 ++--
File4 | 2 +-
File5 | 2 +-
5 files changed, 8 insertions(+), 8 deletions(-)
Я получаю еще более длинный список файлов, если запускаю ту же команду для feature1. Итак ... У меня все еще есть сообщение, что я в курсе, но файлы в каждой ветке разные.
ОБНОВЛЕНИЕ 2
@ Скотт - Хорошо, я думаю, ваш ответ помог немного прояснить мою проблему. Я понимаю, что слияние не сделает все ветви идентичными, но просто обновит ветку, на которой я работаю.
Однако, похоже, что мои коммиты вышли из строя или что-то в этом роде. Другими словами, есть изменения, которые существуют в ветви feature2, которые я хочу отображать в моей основной ветви. Git должен думать, что версии файлов в моей главной ветке - «правильные» (что бы это ни значило). Как заставить Git зафиксировать различия в ветви feature2 в моей основной ветке, когда он считает, что изменения в master в настоящий момент самые последние и самые большие?
ОБНОВЛЕНИЕ 3 (окончательное)
Ну, я очень благодарен всем вам, кто пытался мне помочь. Я нашел обходной путь, который также решил эту проблему, но я так и не понял, как сделать то, что я имел в виду.
Обдумав некоторые ваши комментарии, я сделал ребаз. График истории коммитов представлял собой прямую линию, как и следовало ожидать. Однако проблема не исчезла: моя ветка feature2 отстала от master на один коммит, но содержала код, который фактически превратил его в ветвь с «последним и лучшим» кодом. Попытка слияния веток ничего не сделала. Наконец, я просто решил создать новую ветку из моей ветки feature2 и назвал ее «самой последней». Так что, в конце концов, я благодарен за то, как легко работать с git. Но ясно, что я что-то упустил ...
Еще раз спасибо всем.