Bunu bir süredir sadece git kullanarak yapıyorum. Tüm ana dizini takip etmiyorum, sadece aktif olarak değiştirdiğim parçaları izliyorum. Bu, çok sayıda küçük komut dosyası içeren ev / bin dizinimi, .vim dizinimi ve diğer dizinlerdeki bazı daha büyük projeleri içerir. Ayrıca terminaller ve openbox için bazı konfigürasyonlar ve yanı sıra repoya çeşitli diğer uygulamalar da eklenmiştir.
Tüm bu şeyler aynı izin kümesine sahip olduğundan ve orijinal zaman damgasını umursamadığım için bu yeterince iyi çalışıyor. Bazılarını kullanarak alt modüllere ayırmayı planladığım noktaya geliyor git filter-branch
. Farklı alt dizinlerdeki dosyalar arasında bağımlılıklar olduğu için bu biraz zordur (örneğin, bazı .vim komut dosyaları bin dizinimden komut dosyaları çağırabilir ... çok iyi bir örnek değil ama umarım noktayı alırsınız).
Daha kapsamlı bir çözüm bulamadım, ama git-home-tarih de dahil olmak üzere gerçekten herhangi bir araştırmaya bakmadım. Tüm ana dizinin revizyon kontrolüne alınması oldukça karmaşık gibi görünüyor ve birçok değişken var. Örneğin, firefox profil (ler) inizi revizyon kontrolü altına alırsanız, büyük miktarlarda ikili diferansiyel biriktirirsiniz. Ayrıca ssh anahtarları gibi çoğaltılanlardan daha iyi kaybolan şeyler vardır.
Eğer bir görünüşe var (zaten izler git'e çalıştırılabilir bit dışındaki) izinlerini izlemek istediğiniz takdirde kanca yapacak. Bu serverfault iş parçacığında bahsedilmiştir .