Я пытаюсь создать дамп базы данных mysql и добавить файл дампа .sql в промежуточную область, используя перехватчик предварительной фиксации, чтобы затем его можно было включить в фиксацию (в Windows Server 2012 R2/IIS). Следующий код хорошо выгружает базу данных, но после фиксации он по-прежнему показывает файл be.sql в промежуточной области... иногда (?) - кажется, файл добавляется в промежуточную подготовку ПОСЛЕ фиксации (?). Это хук перед фиксацией, поэтому я понятия не имею, почему он может добавлять файл после того, как происходит фиксация:
#!/bin/bash
# Dump Database
/c/Program\ Files\ \(x86\)/MySQL/MySQL\ Server\ 5\.7/bin/mysqldump.exe -u root --skip-extended-insert be > /c/inetpub/wwwroot/directory/be/be.sql
# Add Database
cd /c/inetpub/wwwroot/directory/be
git add be.sql
Поведение немного странное — я увижу, что be.sql все еще находится в промежуточной области, поэтому я сделаю коммит. Если после этого я получу статус git, дерево будет чистым. Если я снова зафиксирую и git status, он отобразит файл be.sql в промежуточном индексе как измененный (я не изменил его). И туда-сюда ходит. Я просто хочу, чтобы он выгрузил файл .sql, добавил файл .sql в промежуточный индекс, а ЗАТЕМ зафиксировал каждый раз, когда промежуточный индекс чист. Буду очень признателен за любые идеи относительно того, почему это происходит.
git
и подкомандой, плюс .. , [продолжение] - person torek   schedule 28.02.2017GIT_INDEX_FILE
. К счастью, изменение индексного файла (индексной области) явно разрешено в хуке перед фиксацией, во всяком случае, начиная с версии Git 1.5.4. Однако путь может быть относительным, и если это так, и вы переходите в другое место, вам нужно будет его настроить. - person torek   schedule 28.02.2017