Файлы конфигурации уже находятся в удаленном репозитории git. Хочу инверсию, но не удалять. Как? - PullRequest
4 голосов
/ 22 ноября 2011

Мой друг и я решили использовать git и GitHub для совместной работы над проектом.Мы оба очень новички в этом.

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

Я уже выпустил git init и git pull git@github.com:my_friend/our_repository.git master, чтобы загрузить файлы нашего проекта на мой сервер разработки.

Затем я создалфайл .gitignore в корневом каталоге проекта на моем сервере разработки (где я сделал git init):

# this is .gitignore in the project's root directory
index.php
config/some_config_file.php
config/another_config_file.php

Поскольку эти файлы конфигурации уже находятся в хранилище, эти строки в .gitignore не являютсясобираюсь сделать что-нибудь.Это я поняла.Другие ответы SO предложили эти команды:

git rm --cached index.php
git rm --cached config/some_config_file.php
git rm --cached config/another_config_file.php
git commit -m "hope this works"
git push 

но это удалило эти файлы в удаленном репозитории GitHub!Нехорошо.Я хочу, чтобы эти файлы оставались на GitHub, чтобы это не беспокоило моего друга. Я просто хочу хранить свои собственные неверсионные копии файлов на моем сервере разработки, независимо от того, что происходит в репозитории GitHub.

Как мне выполнить эту настройку с помощью git?

Ответы [ 2 ]

5 голосов
/ 22 ноября 2011

Вы не можете этого сделать, но вы можете указать git игнорировать дальнейшие (локальные) изменения этих файлов.Попробуйте:

git update-index --assume-unchanged <your_file>
3 голосов
/ 22 ноября 2011

GitHub хранит только то, что на самом деле находится в репо. Вы не можете удалить файлы из репо, но также можете оставить их в репо.

Лучшее решение - сообщить своим коллегам, что файлы были удалены, чтобы они могли сохранить свои собственные копии без изменений и просто скопировать их обратно в свое рабочее дерево (поскольку теперь они будут игнорироваться) после получения ваших изменений.

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