Як відстежувати $ HOME за допомогою git


10

Я хотів би відстежити свій $ HOME dir з git. У інших підкаталогах є багато інших git repos (наприклад, $ HOME / проекти / repo_1 тощо), які не слід відстежувати, оскільки вони вже є.

Я знайшов історію git-home, але з архіву видно, що проект вже не активно розвивається.

Який підхід ти рекомендував? Чи достатньо зрілий ghh?

Я на Mac, але мене також цікавлять кросплатформні рішення.

Дякую

ps: Я шукав, але не знайшов дублікатів, будь ласка, вкажіть їх, якщо про це вже йшлося.

Відповіді:


5

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

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

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

Якщо ви хочете відслідковувати дозволи (крім виконуваного біта, який вже git), мабуть, це буде гак, який це зробить. Він згадується в цьому потоці за замовчуванням на сервері .


Ви зрозуміли мій випадок використання: насправді мене цікавлять сценарії та конфігурації версій. Я піду з цим базовим підходом.
Франческо

FYI: Проблема, з якою я стикаюся в наші дні, полягає в тому, що я не хочу розгалужувати свій каталог .vim під час роботи над новими компонентами. Я розглядаю купу різних підходів: я, мабуть, в кінцевому підсумку розділити його на окремий модуль за допомогою filter-branchта встановити клон "незавершеного виробництва" у підкаталозі ~. Це здається загалом корисною стратегією: я очікую, що аналогічно корисно буде клонувати весь мій домашній dir repo, а потім протестувати сценарії після встановлення $ HOME у каталог клонів. Я не впевнений, наскільки загальновизнана ця змінна середовище, але я побачу.
інтуїтивно,

0

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.