Как объединить неустановку файлов в локальную главную ветку? - PullRequest
0 голосов
/ 05 мая 2020

Я работаю над проектом, в котором я использую главную ветвь, чтобы содержать только различные достойные «релиза» состояния (следуя модели здесь: https://nvie.com/posts/a-successful-git-branching-model/).

У меня есть создал новую ветку для последних изменений перед новой версией выпуска, которая включает отключение некоторых устаревших файлов (с использованием git rm --cached file1 file2 в локальной ветке выпуска). Таким образом, в текущем состоянии моя локальная главная ветвь все еще отслеживает file1 и file2, а локальная ветвь выпуска - нет.

Как теперь я могу объединить ветвь выпуска с локальным мастером, чтобы локальный мастер принял неустановку (т.е. больше не отслеживал два файла)? Когда я пытаюсь перейти на главную ветку для команды слияния, я получаю "> ошибку: следующие неотслеживаемые файлы рабочего дерева будут перезаписаны при проверке".

Чтобы было ясно, я хочу сохранить файлы в моем локальном каталоге. Я просто хочу, чтобы Git прекратил их отслеживать, чтобы, когда я sh отправлю свой локальный мастер на свой пульт, файлы будут удалены с пульта.

1 Ответ

0 голосов
/ 07 мая 2020

Чтобы объединить что-либо в master, вы должны проверить это. Но проверка master означает синхронизацию вашего рабочего дерева с состоянием master, что означает, что эти два файла должны быть перезаписаны до их текущего состояния в master. Есть способы "проверить" ветку без изменения локального рабочего дерева, но вы не можете этого сделать, если хотите выполнить слияние.

Решение:

  1. git stash -u, чтобы sh удалить неотслеживаемые файлы
  2. выполнить слияние.
  3. git stash pop, чтобы получить их обратно.
...