У меня есть два репозитория. Время от времени я хочу объединить содержимое other
в main
. Однако слияние игнорирует удаленные файлы. Позвольте мне объяснить это на примере:
mkdir -p test/main test/other
cd test/other/
git init
touch one two three
git add .
git commit -m "Add one, two and three."
cd ../main/
git init
touch four
git add .
git commit -m "Add four."
Добавить other
в main
как удаленный.
git remote add other ../other/
git fetch other
Объединить содержимое.
git merge --squash other/master
git commit -m "Merge other."
Он правильно добавляет файлы. Теперь удалите файл в other
.
cd ../other/
git rm two
git commit -m "Remove two."
Объединить изменения в main
.
cd ../main/
git fetch other
git merge --squash other/master
После слияния git status
говорит:
# On branch master
nothing to commit (working directory clean)
Я ожидаю, что слияние удалит two
, поскольку оно было удалено в other
. Что я делаю неправильно?