Ale*_*lex 11 mercurial home-directory
有一段时间我只在源代码控制下使用了我的代码,但是我觉得将我的东西放在我的.vim文件夹中以及其他东西在回购中会很酷.(我显然不会将所有内容存储在我的仓库中,只包含各种配置文件,我的src目录,以及其他一些内容)
我能够设置一个repo罚款,然后将其推送到我的服务器,我可以从其他计算机访问它,但我无法将其克隆到我的其他计算机.当我尝试克隆它时失败,因为主目录不为空.有办法在这里做我想做的事吗?
由于我的计算机之间的版本化文件是相同的,我所做的是:
~$ hg clone ssh://myserver/hg/dotfiles mydotfiles
~$ mv mydotfiles/.hg .
~$ rm -rf mydotfiles
Run Code Online (Sandbox Code Playgroud)
就是这样,现在您的主文件夹受版本控制,但当然如果你的点文件在计算机之间不相同,你将不得不对它做些什么.
因为我只想版本化一些文件,而不是我家文件夹下的所有文件,所以我有这个简单的规则 ~/.hgignore
# This .hgignore is for the dotfiles repository only,
# the rest of my HG repositories use the file
# .hgignore_global as referenced by [ui]'s ignore setting.
syntax:glob
*
Run Code Online (Sandbox Code Playgroud)
这样,当我这样做时,我没有得到文件的海洋,hg status
只看到我在版本控制下已经修改过的那些文件.
但是因为我想在另一个hg存储库中工作时看到未版本控制的文件,所以我在我的~/.hgrc
文件中有这个
[ui]
ignore=/home/gajon/.hgignore_global
Run Code Online (Sandbox Code Playgroud)
并~/.hgignore_global
包含一些常见瞬态文件的过滤器:
syntax: glob
*.pyc
*~
.*.swp
.svn*
*.svn*
*.fasl
syntax: regexp
^\.pc/
Run Code Online (Sandbox Code Playgroud)