Нажмите только один файл на GitHub из локального хранилища - PullRequest
8 голосов
/ 25 сентября 2011

У меня есть репо с несколькими сценариями.Один из них особенно полезен, и я хочу поделиться им с помощью GitHub.

Как я могу экспортировать один файл (с историей фиксации) в репозиторий GitHub без совместного использования всех других скриптов из того же репо?1004 * Что-то вроде:

git remote add 'origin' git@github.com:user/Project.git
git push -u 'origin' ./useful-script.sh

Но как мне указать одно имя файла?Или я должен создать какой-то специальный 'частичный' коммит?

1 Ответ

3 голосов
/ 25 сентября 2011

Вы должны будете использовать filter-branch, чтобы переписать свою историю и удалить все, кроме этого одного файла:

git filter-branch --index-filter '
  git rm --cached -f -r .;
  git add ./useful-script.sh;
' --all

должен выполнить эту работу.

Если --index-filter не делаетработать (я не уверен насчет этого git add там), попробуйте `--tree-filter 'с тем же аргументом.

...