Игнорировать push-директорию, но все равно отслеживать в Git - PullRequest
1 голос
/ 11 февраля 2011

Есть ли способ игнорировать каталог при удаленном нажатии? Подвох в том, что я не хочу это игнорировать. Я все еще хочу отслеживать каталог и иметь локальные коммиты и ветки для него. Скажем, я работаю над проектом, который опирается на базу данных. Этот проект не имеет переходной схемы или чего-либо еще. Он заполняется данными для тестирования. У меня есть символическая ссылка для папки / файлов MySQL (MyISAM MYD / MYI) на мой локальный репозиторий. Я хочу синхронизировать базу данных и коммиты, но не могу выдвинуть базу данных (или активы и т. Д.). Я попробовал подмодуль, но безрезультатно - родительское хранилище игнорирует изменения дочернего подмодуля. Как бы я пошел по этому поводу? Пример структуры:

/ repo / my-project <- git repo <br> / repo / my-project / src <- отправляет коммиты, связанные с этим разделом, в удаленное репо, которое использует его в качестве корневого каталога </p>

/ repo / my-project / mysql <- отследить, но не нажимать <br> /repo/my-project/mysql/db_1/table_1.frm
/repo/my-project/mysql/db_1/table_1.MYD
/repo/my-project/mysql/db_1/table_1.MYI

Спасибо!

Ответы [ 3 ]

1 голос
/ 11 февраля 2011

Можно игнорировать файлы от включения в ваш репозиторий, добавляя их в файл .gitignore - но я не думаю, что вы этого хотите.

Попробуйте это: http://book.git -scm.com / 4_ignoring_files.html

1 голос
/ 11 февраля 2011

Когда вы нажимаете данную ветку, вы нажимаете коммиты на этой ветке.Если эти коммиты включают содержимое данного каталога, вы будете выдвигать этот контент.

Вы можете выбрать один из двух вариантов:

  • Сохранить этот каталог в ветви (или ветвях)), которые никогда не сливаются в ветви, которые вы нажимаете.Конечно, вы все равно можете свободно сливать другие изменения в эту ветку.

  • Храните этот каталог в отдельном хранилище.В таком случае самый простой подход состоит в том, чтобы установить символическую связь этого каталога с реальным местоположением хранилища и игнорировать путь.(Вы можете игнорировать его в .git/info/excludes, чтобы избежать публикации этой записи gitignore.) Более подробные инструкции:

    cd path/to/project
    
    # move the directory outside your project
    mv database-dir ..
    
    # add an ignored symlink to it
    echo "database-dir" >> .git/info/excludes
    ln -s ../database-dir database-dir
    
    # create a new repo in the directory to track it
    cd ../database-dir
    git init; git add .; git commit
    
0 голосов
/ 11 февраля 2011

Почему бы не отслеживать базу данных в отдельном хранилище без удаленной ветви?

(Обратите внимание, что если вы никогда не нажмете удаленно, у вас не будет резервной копии, если ваш жесткий диск выйдет из строя.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...