Скажите, что вы клонировали локальное репо из удаленного проекта с открытым исходным кодом (например, на Github). Вы вносите изменения в свои местные филиалы репо и т. Д.Методы выборочного представления основного репо
Вы имеете в виду следующую цель: некоторые из внесенных вами изменений предназначены для ваших собственных целей и не будут возвращены в основное репо, другие изменения представляют интерес для сообщества, такие как исправления ошибок и добавление функций и те, которые вы хотели бы внести в основное репо.
Итак, на основе этого предположим две основные ветви: dev-proj для всех изменений, dev-comm с подмножеством, которое будет возвращено в основное репо.
В общем случае вы знали бы, что данный набор изменений перейдет в dev-comm или нет, поэтому вы можете выделить их в ветку.
Однако существуют запутанные случаи, когда вы не хотите, чтобы ваше разветвление было продиктовано тем, должны ли изменения быть внесены в исходное положение или нет.
Возьмем, к примеру, случай локализации веб-приложения - изменения в переводе и представлениях и т. Д. Вы создаете ветку для нее, и вы намерены сохранить ее конфиденциальной, но, работая над ней, вы обнаружите, что есть проблемы с i18n с исходным кодом, поэтому вы исправляете их как часть своей работы в этой ветке. И эти изменения WRT к i18n, которые вы хотели бы выделить и вернуться к основному репо.
Мой вопрос: выбрал ли вишню лучший способ справиться с этой ситуацией - я заинтересован , это привлечет некоторое отвлечение, чтобы попытаться детализировать коммиты, и что произойдет, если я сделаю по ошибке фиксацию, которая включает в себя кусок частных изменений и изменений сообщества, тогда мне придется попытаться применить исправления для этого. Или есть какая-то лучшая техника, даже если она включает в себя некоторые ручные элементы.
Edit: Я поясню с грубым эскизом: р для местного проекта и с для изменения означало специально для толкания вверх для сообщества:
Ep--Fc--Gp--Hc--Ipc(commit not granular!)--Jc topicA
/
A--B--C devProj
|
\ Q--R devComm
|
\ Fc--Hc--I2c--Jc topicAcomm
Работая над Топикой, мы не хотят беспокоиться о том, какие части предназначены для сообщества. Но в конце этого мы хотели бы иметь что-то вроде topicAcomm, которое можно объединить в devComm и нажать вверх по потоку.
Мой вопрос заключается в том, является ли вишневый сбор способ справиться с этим, что кажется правдоподобным способом проверки документов/учебников. Или есть некоторые другие трюки, такие как аннотирование кода позже, возможно, или некоторые другие трюки, о которых я не знаю.
Наличие случайного смешения является лишь одной проблемой, которая может возникнуть.
Спасибо за информацию. Я проверю эти ресурсы. –
Итак, это очень типичный вариант использования для rebase - interactive. Спасибо. –