2014-10-24 2 views
1

Я хотел бы раскошелиться только пару файлов из какого-то репозитория. Для этих конкретных файлов я хотел бы отслеживать и объединять восходящие изменения.Вилка конкретных файлов из репозитория в github

С наилучшими пожеланиями

+0

Что именно вы пытаетесь достичь? Концепция «fork» применяется к репозиториям, а не к файлам. Вы пытаетесь разблокировать весь репо, но только отслеживаете изменения в верхнем течении для некоторых файлов? Или вы хотите только проверить (и отслеживать) определенные файлы, не получая остальную часть файлов? Планируете ли вы редактировать эти файлы, или просто хотите, чтобы локальные копии отслеживали их в удаленном репо? Планируете ли вы редактировать остальные файлы, но не интересуетесь изменениями в этом направлении? Немного больше информации о том, что именно вы пытаетесь выполнить, было бы полезно. =) – Tonio

+0

Я хочу «повторно использовать» некоторые файлы из другого репозитория (для их расширения). Тем не менее, я хотел бы иметь возможность повторно интегрировать исправления восходящего потока. – Stasik

+0

Вижу. Я не думаю, что есть простой способ сделать это, хотя я могу ошибаться. С '.gitattributes' вы можете указать стратегии слияния для определенных файлов, но, насколько я могу судить, вы не можете сделать это при слиянии ветки с определенного пульта, автоматически. В верхней части моей головы все, что я могу представить, это генерировать патчи с новых коммитов с восходящего потока и применять эти исправления с помощью 'git apply -include = '. – Tonio

ответ

0

Это должно работать, хотя это неуклюжим (я не проверял):

$ git fetch upstream 
$ git diff upstream/master -- file1.ext path/to/file2.ext yet/another/file3.ext | git apply - 
$ git add file1.ext path/to/file2.ext yet/another/file3.ext 
$ git commit 

Где «вверх» это имя вышестоящего пульта дистанционного управления, и «мастер» (как в «upstream/master») - это ветка, которую вы отслеживаете.

В принципе, вы говорите: «Получите последние изменения с восходящего потока, сделайте патч того, что отличается от моих текущих файлов и восходящих файлов, для определенного списка файлов, примените этот патч, добавьте файлы в индекс , и совершить ".

(Рабочим дерево должно быть чистым, иначе вы будете в том числе изменения не от входа в вашу фиксацию, которая не является проблемой, но может привести к путанице.)

+0

Это будет работать, но потеряет историю. – robrich

0

Посмотрите на суб-модулей. Вы можете найти после того, как вникнете в него, что сложность не оправдана. Скорее всего, лучше всего клонировать весь репозиторий и игнорировать другие файлы.

Смежные вопросы