Или делайте свою работу локально, однако это удобно и продвигайте все, что будет готово в любое время.Если вы выполняете функцию и выполняете слияние, тогда вы можете git push origin feature develop
.Единственный типичный порядок - вы нажимаете на публикацию и публикуете то, что готово.
Перестаньте думать, что два репо одинаковы.Истории могут быть одинаковыми и существовать в любом количестве репо, но границы репо эфемерны.Ваши два репозитория уже сильно отличаются друг от друга, если вы чем-то похожи на меня, в вашем локальном репо есть экспериментальные ветки, дико сломанный WIP-материал, который будет очищен с хорошим rebase -i
прежде, чем кто-либо еще это увидит, а-ля.Ничто из этого не относится к опубликованному репо.
Вы можете даже носить несколько историй в репо, смешивать и сочетать их так, как вам нравится.Как только вы освоитесь с Git, вы можете перенести свою историю подмодулей, например, в основной репо;это делает утилиты для небольших утилит намного более удобными для работы, вот фрагмент из файла makefile:
setup: utils/.git
utils/.git:
@if _=`git rev-parse -q --verify utils`; then \
git config submodule.utils.active true \
&& git config submodule.utils.url "`pwd -P`" \
&& git clone -s . utils -nb utils \
&& git submodule --quiet absorbgitdirs utils \
&& git -C utils checkout $$(git rev-parse :utils); \
fi
(исправление повреждения закладки markdown), и я несу историю utils
со связанными проектами.Если он станет больше, например, размер gnulib, я просто сделаю свои клоны --reference
хранилищем с известной историей для него, тогда на диске останется только одна копия, примерно на 99%.Но это далеко впереди игры, достаточно сказать, что если я исправлю или настрою утилиту, то это легко, сделаю ее там, где она сразу полезна, и опубликую ее там, где это необходимо, вы можете найти все репозитории с историей, например
root=(`git rev-list --max-parents=0 heads/utils`)
find $projects -name objects -execdir git cat-file -e $root \; -printf %h\\n