Невозможно скопировать все файлы, кроме ~ -file и .gitconfig, в Git -repo - PullRequest
0 голосов
/ 26 июня 2009

У меня есть файлы dev в ~ / bin /, а файлы Git-репозитория в ~ / github / myProject /. Я всегда запускаю следующий файл для копирования файлов из прежнего местоположения во второе:

#!/bin/zsh 

# editors# {{{
cp /Users/Masi/.emacs /Users/Masi/gitHub/MasiDvorak/
cp /Users/Masi/bin/editors/emacs/* /Users/Masi/gitHub/MasiDvorak/editors/emacs/

cp /Users/Masi/.vimrc /Users/Masi/gitHub/MasiDvorak/
cp /Users/Masi/bin/editors/vim/* /Users/Masi/gitHub/MasiDvorak/editors/vim/
# }}}
# shells# {{{
cp /Users/Masi/.bashrc /Users/Masi/gitHub/MasiDvorak/
cp /Users/Masi/.profile /Users/Masi/gitHub/MasiDvorak/
cp /Users/Masi/.zshrc /Users/Masi/gitHub/MasiDvorak/
# }}}

# programming# {{{
cp /Users/Masi/.screenrc /Users/Masi/gitHub/MasiDvorak/
cp /Users/Masi/.Xmodmap /Users/Masi/gitHub/MasiDvorak/
cp /Users/Masi/.xmonad/xmonad.hs /Users/Masi/gitHub/MasiDvorak/.xmonad/
cp /Users/Masi/.gdbinit /Users/Masi/gitHub/MasiDvorak/ 
cp /Users/Masi/.xmonad/xmonad.hs /Users/Masi/gitHub/MasiDvorak/ 
...
# }}}

Причина в том, что я хочу избегать таких файлов, как

xmonad.hs~   # all ~ -files
.gitconfig

будет добавлено в мой репозиторий Git.

Мой способ копирования файлов начинает испытывать трудности при контроле, так как мне требуется много времени, чтобы найти и добавить каждый файл в файл copy_dev-files_to_github.

Как скопировать файлы разработки в локальное хранилище Git?

Ответы [ 4 ]

3 голосов
/ 26 июня 2009

Почему вы вообще копируете файлы? Конечно, вы должны просто добавить их в репозиторий, а затем проверить и зафиксировать при необходимости. Я не вижу необходимости перемещать файлы - это, кажется, сводит на нет всю цель локальной проверки.

Чтобы избежать добавления определенных файлов, просто перечислите их в .git/info/exclude.

1 голос
/ 28 июня 2009

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

1 голос
/ 28 июня 2009

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

1 голос
/ 26 июня 2009

Вы можете использовать rsync с опцией --exclude.

, например

rsync --exclude='.gitconfig' --exclude='*~' /Users/Masi/ /Users/Masi/gitHub/MasiDvorak/
...