2017-04-20 35 views
1

我想版本控制我的配置文件和腳本下~.bashrc.vimrc.bash_profile等。但這需要在主文件夾git init這會干擾家中以下的其他git回購,並且需要將所有其他文件添加到.gitignore最好的辦法與git的下家版本控制配置文件(〜)

什麼是最好的方法來做到這一點?我正在考慮將所有配置文件放在專用文件夾中,並將它們符號鏈接到它們的原始位置,但這需要額外的步驟來爲所有需要同步的盒子上的所有新添加的文件創建符號鏈接,並可能synlinks可能不適用於所有應用程序。

什麼是最好的方法?

回答

2

.gitignore支持patters,所以你可以用它來枚舉要控制文件:

#Ignore all 
/* 

#But not these 
!.bash* 
!.vimrc 
!etc... 

這就是全部。

順便說一句,如果git發現子文件夾中有.git,子文件夾將被忽略。

1

我看至少有兩種方法來解決這個問題。假設所有的存儲庫都存儲在~/mygits之下。

  1. 此目錄被明確專門用作您所有git倉庫的容器,並宣佈在.gitignore實施例的.gitignore

     
    $ cat .gitignore 
    mygits 
    
 
~/.bash_profile 
~/.bashrc 
~/.git/* 
~/.gitignore 
~/mygits/** 

  • 將目標庫(我們稱之爲mydotfiles)放在~/mygits旁邊o療法庫...
  •  
    ~/mygits/mydotfiles/bash_profile 
    ~/mygits/mydotfiles/bashrc 
    

    ...並創建鏈接到文件

     
    ln -s mygits/mydotfiles/bash_profile ~/.bash_profile 
    ln -s mygits/mydotfiles/bashrc ~/.bashrc 
    

    在我看來,第二種方式是更好,因爲你不需要考慮防止放從homedir到這個倉庫的其他東西。

    最後,希望我的解釋清楚。