GIT: Как зафиксировать изменение в папке.git, уже находящейся в рабочем каталоге, в этом хранилище с помощью пакетной команды?
Вот мой текущий репозиторий, и он стал моим рабочим каталогом.
Как видите, есть BAT-файл "backup.cmd", содержимое которого показано ниже:
"C:\Program Files (x86)\Git\bin\git.exe" add . && "C:\Program Files (x86)\Git\bin\git.exe" commit -am "Periodic Backup %DATE%"
Теперь я устанавливаю планировщик задач в Windows 7, который позволяет мне еженедельно создавать резервную копию в этом хранилище. Тем не менее, существует проблема, когда дело доходит до внесения изменений в любой из этих файлов.
Проблема в том, что, запустив файл BAT, Git не может зафиксировать изменения. Причина, по которой он не может зафиксировать изменения, связана с тем, что в рабочем каталоге находится папка ".git".
Я пытался использовать ".gitignore" и ".git/info/exclude", чтобы игнорировать / исключать каталог ".git", но он все еще не позволяет мне зафиксировать изменения. Я не знаю других способов игнорирования / исключения каталога ".git".
Может ли кто-нибудь помочь мне в этом? Заранее спасибо.
2 ответа
Благодаря @hammar я теперь знаю, в чем моя проблема.
Поскольку планировщик задач выполнял командный файл в месте, где нет команд GIT, доступных для командной строки (что означает, что он выполнял команды в расположении по умолчанию (C:\Windows\system32)), он выведет сообщение об ошибке, сообщающее что ".git" не существует.
Исправление состоит в том, чтобы изменить местоположение на фактическое хранилище GIT, а затем повторно выполнить пакетные команды, чтобы планировщик задач знал, что с ними делать.
Вместо постановки каталога каждый раз (git add .
), используйте git add -A
разместить все новые файлы. Наличие .git
каталог указывает, что хранилище уже инициализировано, и его не нужно ставить во время каждого пакетного запуска. git add -A
этапы все изменились и новые файлы, что, кажется, то, что вы хотите, но вы могли бы предпочесть git add -u
,