В восходящей ветке (не master / default HEAD, если это имеет значение) есть несколько обновлений, которые я хочу, большинство других различий у меня нет.
Во-первых, я сделал git fetch -v upstream
вместо pull
так как я пока не хочу, чтобы мой локальный код (в моей основной ветке) был изменен.
Выполнение git merge upstream/nonmaster
автоматически объединит много вещей, которые я определенно не хочу, удалив много локальных файлов, которые никогда не передавались измой форк (потому что это другой авторский / сторонний проект) и т. д.
Вопрос, как я могу получить его в состоянии, когда git mergetool
запустит мой сконфигурированный графический интерфейс ( kdiff3 ) дляпозвольте мне выбрать, какие правки оставить на панелях A (базовая) / B (моя) / C (их) во всех измененных файлах (некоторые из них вообще отсутствуют в исходном коде, но я определенно хочу сохранить их в своей ветке)?
В настоящее время возвращается «Нет необходимости объединять файлы», хотя git diff HEAD
показывает различия, которые, очевидно, будут автоматически объединяться.Я не хочу автоматического;Я хочу выбрать то, что будет объединено / изменено, в большинстве случаев сохраняя мои вещи такими, какими они были.
Я в порядке, когда делаю это по одному файлу за раз ... как, пожалуйста?Скажем, git checkout -m upstream/save -- README.md
как тестовый файл.
Несколько источников, включая (связанную проблему) [ Как перевести файл обратно в состояние конфликта после разрешения конфликта? см. Варианты git checkout -m ...
Тем не менее, я все еще сталкиваюсь с "Нет необходимости объединять файлы" , и разрешение конфликта все равно не принудительно, в то время как git diff HEAD
показывает автоматически объединенные изменения, которые я бы больше всего не хотел.
git status; git diff HEAD
On branch master
Your branch is up-to-date with 'origin/master'.
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
modified: README.md
diff --git a/README.md b/README.md
index 9a7e6a0..1be114b 100644
--- a/README.md
+++ b/README.md
@@ -21,22 +21,23 @@ Setup
-Before you begin, make sure you have `Python3` installed. Robinhood shell only works with python3. Some of the functionality is broken on python2.7
+Download Robinhood Shell by downloading the zip file ([link](https://github.com/ploch/RobinhoodShell/archive/dev.zip)) OR by using git
-1. Download Robinhood Shell by downloading the zip file ([link](https://github.com/anilshanbhag/RobinhoodShell/archive/dev.zip)) OR by using git
+=======
```
-git clone https://github.com/anilshanbhag/RobinhoodShell.git
+git clone https://github.com/ploch/RobinhoodShell.git
Следствие (возможно?)
Как в git-конвейере мы можем вручную сделать маркеры конфликта , где в противном случае git merge
будет думать, что он выполняет свою работу автоматически