локальные проверки git - скрыться от основного хранилища? - PullRequest
3 голосов
/ 15 января 2009

Мне показалось, что я помню, как где-то читал способ сделать это, но я не могу его найти.

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

Это даже хорошие идеи? Спасибо за помощь - все еще учусь, здесь!

Джо

1 Ответ

9 голосов
/ 15 января 2009

Вы можете объединить свои изменения как один коммит в основной ветке:

$ git checkout main
$ git merge --squash local

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

Редактирование / уточнение: интерактивная перебазировка позволит вам легко удалять или "фиксировать" коммиты в вашей истории:

$ git checkout local
$ git rebase -i main
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...