我想在我的Linux $ HOME目录中创建一个单独的git repo.在这个回购 - 显然 - 我可以在版本控制下添加所有内容,但这没有任何意义.我只想添加与我相关的文件和文件夹,如.vimrc,.vim,.bashrc等(可能只有隐藏文件和文件夹,但可能没有)
我知道我可以利用.gitignore来尝试实现这样的行为,但这将是痛苦的,几乎无法维护.相反,我想知道的是,是否有任何方法可以手动声明我想要管理的文件和文件夹,只有那样.
Nik*_*las 38
的.gitignore
# Ignore everything
*
# But not these files...
!*.vimrc
!*.vim
!*.bashrc
!.gitignore
# etc...
Run Code Online (Sandbox Code Playgroud)
Pet*_*ete 20
我会设置一个别名只能用于你的家庭仓库,这样你可以使用别名代替git命令,你总是知道你正在使用的上下文
# .bashrc
alias home='git --work-tree=$HOME --git-dir=$HOME/.home'
Run Code Online (Sandbox Code Playgroud)
发出命令
$ home init
Run Code Online (Sandbox Code Playgroud)
将在您的$ HOME中的.home文件夹中创建一个repo,与当前目录无关,您可以使用别名'home'代替'git'来使用您的home repo
这与.gitignore一起应该是您所需要的.
# .gitignore
*
# keep track
!.bashrc
!.gitignore
Run Code Online (Sandbox Code Playgroud)
NB.请勿在回购中保留.ssh/keys,因为它会显示文件权限和安全问题.
Mik*_*icz 12
我建议不要将你的$ HOME目录放在git版本控制之下.我做到了这一点,因为我认为我非常聪明,并希望我的.dotfiles受版本控制.然而,git是贪婪和贪婪的.我不得不在我的$ HOME/.gitignore中添加大量目录(甚至*).你的主目录中的其他地方有任何git存储库吗?我做到了.但是那些git存储库将使用你的$ HOME/.gitignore作为你的全局.gitignore,除非你在其他地方设置它.因此,尝试在这些子目录存储库中添加文件真的很痛苦.
而是将您的重要文件放在一个单独的目录中.说,〜/ dotfiles.现在将它作为一个git存储库,并将所有重要的.dot文件符号链接到指向该新存储库.瞧.问题解决了,虽然有一些时间投入到链接.
归档时间: |
|
查看次数: |
12939 次 |
最近记录: |