GIT - pullowanie brancha z innego brancha

GIT - pullowanie brancha z innego brancha
ML
  • Rejestracja:ponad 19 lat
  • Ostatnio:około 14 godzin
  • Postów:857
0

Cześć, czy może ktoś wie czy w Gicie można zrobić pull innego brancha bez przechodzenia na niego? Przejrzałem StackOverflow ale więcej tam filozofii niż praktycznych rozwiązań. A może się nie da?

Shalom
  • Rejestracja:około 21 lat
  • Ostatnio:prawie 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
1

Co to znaczy dla ciebie pullowanie z innego brancha? Możesz zrobić merge albo rebase pomiędzy dowolnymi branchami przecież. Jesteś na swoim branchu i robisz merge albo rebase z innym branchem i tyle. Przecież nigdy nie zmieniasz brancha na ten z którego chcesz pobierać zmiany! Zawsze robisz to będąc na "docelowym" branchu.


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
PR
PR
  • Rejestracja:około 4 lata
  • Ostatnio:prawie 4 lata
  • Postów:204
2

Podpowiem, że będąc na "swoim" to tak naprawdę pullujesz z innego brancha - ale o tej samej nazwie na repo zdalnym - pewnie Origin. Wystarczy pullować, z innej gałęzi będąc na swojej. Z głowy : git fetch origin/other_branch && git checkout my_branche && git merge origin/other_branch

edytowany 2x, ostatnio: pragmaticdev
ML
  • Rejestracja:ponad 19 lat
  • Ostatnio:około 14 godzin
  • Postów:857
0

Struktura repozytorium jest taka że kolejne wersje systemu są odkładane jako branche. I tak np. kończąc dany zestaw ficzerów robiony jest branch z wersją. Czyli master to linia produkcyjna, a branche to zakończone wersje.
I teraz np. master to wersja 5, wiec branche to 4,3,2,1. Poprawiamy coś na branchu 2, commit i cherry pick na branche 3, 4 i master.
I czy będąc na tym branchu nr 2 można pullować zmiany na innych branchach z repo zdalnego.
A dlaczego? Ponieważ to duży projekt i zmiana brancha pomimo że całkiem szybka to IDE dostaje przy tym palpitacji serca.
@pragmaticdev sprawdzę czy to zadziała.

Shalom
  • Rejestracja:około 21 lat
  • Ostatnio:prawie 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
0

commit i cherry pick na branche 3, 4 i master

Czemu nie rebase? Byłoby bardziej naturalnie, a cherry-pick sprawia ze z czasem będzie gorzej...

I czy będąc na tym branchu nr 2 można pullować zmiany na innych branchach z repo zdalnego.

Ok, teraz rozumiem co chcesz zrobić. Odpowiedź brzmi: zrób to w takim razie z konsoli skoro zmiana w IDE tak cię boli.


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
ML
  • Rejestracja:ponad 19 lat
  • Ostatnio:około 14 godzin
  • Postów:857
0

Właśnie o konsolę mi chodzi, IDE tego nie potrafi. Nawet w Sourcetree nie widzę takiej możliwości bez zmiany brancha.
Nie pytajcie o strukturę dlaczego tak a nie inaczej bo ktoś to wymyślił lata temu i tak już jest.

koszalek-opalek
  • Rejestracja:około 9 lat
  • Ostatnio:ponad 2 lata
0
MiL napisał(a):

Właśnie o konsolę mi chodzi, IDE tego nie potrafi. Nawet w Sourcetree nie widzę takiej możliwości bez zmiany brancha.

Nie pytajcie o strukturę dlaczego tak a nie inaczej bo ktoś to wymyślił lata temu i tak już jest.

No ale jak z konsoli zmieniasz brancha to też tak powoli się robi...?

ML
  • Rejestracja:ponad 19 lat
  • Ostatnio:około 14 godzin
  • Postów:857
0

Sam branch zmienia się w miarę szybko, ale to powoduje że pliki projektu się zmieniają, wtedy IDE widzi zmianę, zaczyna indeksować, ładować, wentylator startuje aż czasem w końcu się wywali. Mamy kilka makr które automatyzują pracę z gitem np. pullowanie wszystkich lokalnych branchy, ale te makra skaczą po branchach i wtedy robi się to co się robi.
Nie jestem orłem z gita, może to jakiś poroniony pomysł, ale było by to przyjemne :)

Delor
  • Rejestracja:ponad 6 lat
  • Ostatnio:około 2 lata
0

Ale to nie jest wina gita tylko IDE.

koszalek-opalek
  • Rejestracja:około 9 lat
  • Ostatnio:ponad 2 lata
1
MiL napisał(a):

Sam branch zmienia się w miarę szybko, ale to powoduje że pliki projektu się zmieniają, wtedy IDE widzi zmianę, zaczyna indeksować, ładować, wentylator startuje aż czasem w końcu się wywali. Mamy kilka makr które automatyzują pracę z gitem np. pullowanie wszystkich lokalnych branchy, ale te makra skaczą po branchach i wtedy robi się to co się robi.

Nie jestem orłem z gita, może to jakiś poroniony pomysł, ale było by to przyjemne :)

To rób jak niektórzy sugerowali:

  • zamykasz IDE
  • robisz swoje z konsoli
  • otwierasz IDE
PR
PR
  • Rejestracja:około 4 lata
  • Ostatnio:prawie 4 lata
  • Postów:204
1

Tez miałem taki problem. Zreszta budowanie systemu trwało kilka godzin. Dlatego miałem n sklonowanych repo, żeby nie musieć przełączać całych branchow a synchronizacja była między repami lokalnymi Ew na remote. Wtedy ide łapało np zmianę jednego pliku po mergu a nie całej gałęzi.

kacor11
  • Rejestracja:ponad 4 lata
  • Ostatnio:około 6 godzin
  • Postów:5
0

Nie wiem czy dobrze rozumiem problem ale może każdy branch jako osobne drzewo i wtedy problem zmiany brancha znika całkowicie. https://git-scm.com/docs/git-worktree

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.