2016-11-16 6 views
0

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

Этот скелет имеет свой собственный репозиторий, который мы извлекаем, когда нам нужно работать над ним.

Иногда я замечаю, что его можно улучшить, поэтому я вношу в него изменения, а затем копирую эти изменения из папки, содержащей проект, используя скелет в папку, содержащую репозиторий git скелета, совершать фиксацию и нажимать все на дистанционное репо.

Я могу придумать, что Laravel делает. Например, как разработчик Laravel, я мог бы вытащить репозиторий Laravel, чтобы начать работу над новым проектом, но затем я замечаю, что есть некоторые вещи, которые я мог бы исправить.

Мой рабочий процесс кажется не очень эффективным. Есть ли лучшие способы сделать это?

ответ

1

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

git checkout skeleton 
git checkout -b feature 
# make your improvements 
git commit -m 'improvements made' 
git push origin feature 

Теперь, когда ваша ветка функций находится в удаленном репозитории, один из ваших коллег может ее просмотреть. После этого ветвь будет объединена обратно в skeleton. Если вы используете репо, например GitHub или BitBucket, этот процесс немного автоматизирован.

+0

Но у нового проекта может быть много другого материала, который мне не нужен в исходном репозитории скелета. Должен ли я игнорировать эти новые файлы с помощью файла '.gitignore'? А как насчет файлов, которые являются частью скелетного репо, но не следует отбрасывать назад? (например, файл 'routes.php' в Laravel) – siannone

+0

Если вам не нужны такие изменения в' skeleton', то не объединяйтесь и не сохраняйте ветвь функции в качестве параллельной версии 'skeleton'. Что касается 'routes.php', да, вы можете добавить этот файл в' .gitignore', если он фактически не является частью вашего исходного кода. То же самое справедливо и для файлов библиотек и двоичных файлов. –

+0

Имеет смысл, немного экспериментирует и будет «шпионить» за тем, что делает Laravel. Благодарю. – siannone