Как сделать некоторые из файлов, которые я изменил, не предлагается в коммите?
Я использую 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