10

Я бы хотел отследить мой каталог $ HOME с помощью git. У меня есть много других git-репозиториев в других подкаталогах (например, $ HOME/projects/repo_1 и т.д.), Которые не должны отслеживаться, поскольку они уже есть.

Я нашел git-home-history, но из архива видно, что проект больше не разрабатывается активно.

Какой подход вы порекомендовали? Ghh достаточно зрел?

Я работаю на Mac, но меня также интересуют кроссплатформенные решения.

Спасибо

PS: Я посмотрел, но не нашел дубликатов, пожалуйста, укажите их, если это уже обсуждалось.

3 ответа3

5

Я делал это некоторое время, просто используя git. Я не отслеживаю весь домашний каталог, только части, которые я активно изменяю. Это включает мой каталог home/bin, который содержит много маленьких скриптов, мой каталог .vim и некоторые большие проекты в других каталогах. Также есть несколько конфигураций для терминалов и openbox, а также различных других приложений, добавленных в репо.

Это работает достаточно хорошо, так как все эти вещи имеют одинаковый набор разрешений, и меня не волнует исходная временная метка. Дошло до того, что я планирую разбить некоторые из них на подмодули, используя git filter-branch . Это немного сложно, хотя, поскольку существуют взаимозависимости между файлами в разных подкаталогах (например, некоторые сценарии .vim могут вызывать сценарии из моего каталога bin ... не очень хороший пример, но, надеюсь, вы поймете это).

Я не нашел более всеобъемлющих решений, но также не изучал никаких, включая git-home-history. Кажется, что было бы довольно сложно поставить весь домашний каталог под контроль версий, и было бы много переменных. Например, если вы поставите свои профили Firefox под контроль версий, вы в конечном итоге соберете огромное количество двоичных различий. Также есть такие вещи, как ssh-ключи, которые часто лучше потерять, чем дублировать.

Если вы хотите отслеживать права доступа (кроме исполняемого бита, который git уже отслеживает), очевидно, есть ловушка , которая сделает это. Это упомянуто в этой ветке serverfault.

0

Вы можете использовать git в своем домашнем каталоге, затем использовать подмодули git или пересмотреть дерево для внешних проектов git, над которыми вы работаете.

-1

Вот статья с пошаговым руководством по выполнению того, что вы хотите:

http://pyverted.com/linux/setting-up-version-control-on-your-home-directory/2009/08/

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .