Вопрос чайника по git
От: coder9999  
Дата: 25.08.18 16:20
Оценка:
Никогда не пользовался гитом больше чем просто личной системой сохранения последовательных изменений. Т.е. один пользователь и никаких ветвлений, через tortoisegit. Делал commit и show log для того чтобы например посмотреть, что я изменил после чего что-то сломалось.

А тут случилось такое что сделал clone и внес там некоторые изменения, а в основном репозитории — другие изменения. Нужно как-то из клона эти изменения влить в основной репозиторий. как?
Re: Вопрос чайника по git
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 25.08.18 16:26
Оценка:
Здравствуйте, coder9999, Вы писали:

C>А тут случилось такое что сделал clone и внес там некоторые изменения, а в основном репозитории — другие изменения. Нужно как-то из клона эти изменения влить в основной репозиторий. как?


1. Сделать fetch этих изменений в другую ветку.
2. По вкусу, сделать или merge со своими изменениями, или для своих rebase относительно состояния основного репо.
3. Проверить работоспособность получившегося.
4. Сформировать pull request для основного репо, если у него другой владелец, или прямо сделать push, если есть такие права (технические и административные) и уверенность в результате.
В зависимости от конкретных особенностей, pull request заменяется на посылку на ревью и т.п.
The God is real, unless declared integer.
Re: Вопрос чайника по git
От: aik Австралия  
Дата: 26.08.18 01:42
Оценка:
Здравствуйте, coder9999, Вы писали:

C>Никогда не пользовался гитом больше чем просто личной системой сохранения последовательных изменений. Т.е. один пользователь и никаких ветвлений, через tortoisegit. Делал commit и show log для того чтобы например посмотреть, что я изменил после чего что-то сломалось.

C>А тут случилось такое что сделал clone и внес там некоторые изменения, а в основном репозитории — другие изменения. Нужно как-то из клона эти изменения влить в основной репозиторий. как?

Клон и основной репо твои?

Если да — делаешь "git push" из клона в основной репо: "git push origin master:new_temp_remote_branch", после чего в основном репозитории делаешь "git checkout master && git merge new_temp_remote_branch && git branch -d new_temp_remote_branch" и всех делов. Плюс — просто, минус — получается ненужное ветвление истории гита, что довольно бесполезно когда патчей мало.

Если нет — закачиваешь в клон нового мастера из основного репозитория — "git fetch origin master", в клоне делаешь "git rebase --onto origin/master <тут_sha1_или_тэг_старого_мастера>" — эта штука "проиграет" все коммиты от <тут_sha1_или_тэг_старого_мастера> до конца твоей ветки в клоне поверх нового мастера с основного репозитория. Из полученной ветки можно слать pull-request или как в варианте "да" выше. Плюс — pull request только так сделать и можно и история будет линейная (проще делать bisect), минус — новые патчи применяются поверх другой истории и возможно надо всё тестить по-новой.
Re: Вопрос чайника по git
От: Ziaw Россия  
Дата: 20.09.18 10:28
Оценка:
Здравствуйте, coder9999, Вы писали:

C>А тут случилось такое что сделал clone и внес там некоторые изменения, а в основном репозитории — другие изменения. Нужно как-то из клона эти изменения влить в основной репозиторий. как?


Из клона делаешь pull, merge origin/master, push. В основном появляются сведенные изменения.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.