Как сделать некоторые из файлов, которые я изменил, не предлагается в коммите?

Я использую TortoiseGit 1.8.3. Я изменил один из файлов: Makefile, но я не хочу предлагать его для меня каждый раз в Git Commit. Я добавил его в "delete and add to ignore list", но это не помогает. Как сделать некоторые из файлов, которые я изменил, не предлагается в commit?

Я хочу, чтобы Makefile находился в удаленном репозитории как доступный только для чтения, чтобы я мог его редактировать локально, а затем TortoiseGit не предлагает мне его совершить.

Что я хотел для Git - bash: https://www.kernel.org/pub/software/scm/git/docs/git-update-index.html

Ответы

Ответ 1

Ответ для TortoiseGit 1.8.15, Git 2.6.1. Нет необходимости возвращаться в командную строку, все функции доступны непосредственно в TortoiseGit. Я попытался обобщить различные способы доступа к этой функции. Я предполагаю, что читатель знает, что означает "предполагать неизменным". Ниже приведена простая документация об этой функции. Или оригинальную документацию о --assume-unchanged или Git ls-files.


Отметить файл как "предполагать без изменений"

В TortoiseGit есть три возможности: в диалоговом окне Commit диалог Working Tree (проверка изменений) или в диалог Log Messages (только если выбрана запись Working dir changes). Из одного из этих диалоговых окон выполните следующие действия:

  • щелкните файл правой кнопкой мыши и выберите запись Assume Unchanged


Из любого списка файлов в проводнике Windows выполните следующие действия:

  • щелкните файл правой кнопкой мыши и выберите свойства
  • перейдите на вкладку Git
  • отметьте запись Assume valid/unchanged

Удалите флаг "предполагать неизменный" из файла (отмените приведенное выше):

TortoiseGit позволяет удалить флаг только из диалогового окна Рабочее дерево (проверьте для модификаций).

  • в левом нижнем углу диалогового окна: обязательно отметьте опцию Show ignore local changeds flagged files
  • все файлы с флагом assumed valid или skip worktree будут показаны ниже обычных измененных файлов
  • щелкните правой кнопкой мыши файл и выберите Unflag as skip-worktree or assume-unchanged


Из любого списка файлов в проводнике Windows выполните следующие действия:

  • щелкните файл правой кнопкой мыши и выберите свойства
  • перейдите на вкладку Git
  • отменить запись Assume valid/unchanged

Ответ 2

Если я правильно интерпретирую вопрос, Алекс хочет знать, как отменить действие --assumed-unchanged, выполненное с использованием Tortoise Git.

Вам не нужно использовать командную строку Git, чтобы исправить это:

  • Перейдите к файлам, которые вы выполнили в проводнике Windows,
  • Щелкните правой кнопкой мыши и выберите "Свойства",
  • Перейдите на вкладку Git, там вы увидите флажок рядом с надписью "Предположим, что он действителен/не изменен".
  • Снимите флажок, и он не будет проигнорирован, совершает движение вперед.

введите описание изображения здесь

Ответ 3

Если это не поможет, вам нужно перейти к интерфейсу командной строки и проверить:

Я хочу, чтобы Makefile находился в удаленном репозитории в режиме только для чтения, чтобы я мог его редактировать локально, а затем TortoiseGIT не предлагает мне его совершить.

Это другое:

Вам нужно:

git update-index  --really-refresh --no-assume-unchanged Makefile

Это сделает любую локальную модификацию Makefile "невидимой" до git, сохраняя Makefile под контролем источника.

Если вы хотите, чтобы ваши локальные модификации сопротивлялись git reset, do;

git update-index --skip-worktree Makefile