2012-02-02 2 views
2

Я интересно, если это будет работать ...Git - не Merging из шаблона проекта - не подкаталог

Скажем у меня есть шаблон проекта что-то вроде этого:

. 
+ resources/ 
    + images/ 
     1.png 
     2.png 

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

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

Подмодули или сложение поддерева не похоже здесь, потому что оно не клонировано в подкаталог; он эффективно «сопоставляется» с корневым каталогом или новым проектом.

Один один я думаю может работать будет что-то вроде этого:

#setup project 
mkdir proj1 
cd proj1 
git init. 
touch .gitignore 
git add .gitignore 
git commit -m "Initial Commit" 

#setup main repo 
git remote add origin [email protected]:proj1.git 
git push origin master 

# load template repo as separate remote 
git remote add -f template [email protected]:template.git 

# import into current master 
# here I guess I have the choice of either: 
git merge template/master 
# OR 
git rebase template/master 

Тогда позже на проекте шаблона обновляется:

. 
+ resources/ 
    + images/ 
     1.png 
     2.png 
     3.png <-added file 

Я должен быть в состоянии сделать git pull template master, чтобы вытащить изменения из шаблона и повторить последние шаги слияния/переадресации для интеграции в проект.

Это правильный подход, или есть лучший способ сделать это?

Могу ли я столкнуться с некоторыми неприятностями с этим следом?

Благодаря

ответ

1

Лучший способ сделать это, чтобы иметь шаблон филиал в шаблоне репо. Каждый клон для отдельных проектов будет иметь ветку, которую вы создаете из ветви шаблона. Когда вы хотите обновить шаблон, просто выберите и затем слейте начало/шаблон. Имена филиалов зависят от вас. Это всего лишь предложение.

Я бы не рекомендовал переустанавливать это может привести к тому, что ваши проекты пройдут довольно много боли, если в один прекрасный день произойдут большие изменения, особенно после длительного периода времени, когда у проекта было много коммитов. Ваша перебаза будет очень долгим процессом.

+0

Итак, вы говорите, что делаете то, что я предложил в вопросе ..? (appart из rebase) – Ben

+0

Petty много. Я не уверен, что еще поможет. Может быть, переоформление? –

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