我想在GitHub存储库的OSX主文件夹中保留某些点文件的副本。但是,我不想包含文件和文件夹,例如Documents /,Downloads /等......实现这一目标的最佳方法是什么?
最好忽略.gitignore中所有文件/文件夹(当前dir)仅将所需文件/文件列表列入白名单:
/*
!.vimrc,
!.bash_profile, etc
或相反:
Documents/
Downloads/
Pictures/
或其他方式?
谢谢
答案 0 :(得分:1)
请参阅Managing Dotfiles with Git的Edward Thomson(目前是Microsoft,以前是GitHub):
你可以创建一个git repo elswhere
git clone --separate-git-dir=.dotfiles.git ethomson.visualstudio.com:DefaultCollection/personal/_git/dotfiles .
rm .git
echo '*' > .dotfiles.git/info/exclude
(使用你想要的远程仓库:Edward使用TFS Git)
然后使用别名添加您的dotfiles:
alias dotfiles="git --git-dir=$HOME/.dotfiles.git"
你可以这样做:
dotfiles add .zshrc
dotfiles commit
dotfiles push
答案 1 :(得分:1)
这有些陈旧,忘记了这篇文章。无论如何,我现在已经设置了我的dotfiles,并以一种非常简单实用的方式与github同步。关于@theoden在评论中提出的建议,这些是我采取的步骤......
mkdir ~/.dotfiles
并在github上移动我想要的所有config / dotfiles,例如.bashrs,.bash_aliases,vimrc等......
mv file file2 file3 ~/.dotfiles
然后创建这些文件到主目录的符号链接...
ln -sf ~/.dotfilles/file ~
-f标志强制覆盖现有文件(如果存在)。在〜/ .dotfiles中创建一个git repo并使用它来推送到github ...
git init
我还添加了* .swp,* .swo到.git / info / exclude来忽略交换文件。 然后我写了一个小脚本来自动化符号链接的过程,以防我需要再次设置我的系统,这样我就可以从github克隆repo并运行脚本来创建所有必要的符号链接以使系统工作。这是脚本......
#!/bin/bash
#creates dotfile symlinks in home
ln -sf ~/.dotfiles/.bash* ~
ln -sf ~/.dotfiles/.gitconfig ~
ln -sf ~/.dotfiles/.vimrc ~
ln -sf ~/.dotfiles/.config/neofetch/config.conf ~/.config/neofetch/
rm -f ~/.bash*_bak
rm -f ~/.bash*-bak
对我来说效果很好。希望这可以帮助别人。