eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingJak połączyć zmiany w repozytoriach kilku użytkowników gita? › Re: Jak połączyć zmiany w repozytoriach kilku użytkowników gita?
  • Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
    atman.pl!goblin2!goblin.stu.neva.ru!feed.news.qwest.net!mpls-nntp-01.inet.qwest
    .net!nx02.iad01.newshosting.com!newshosting.com!newsfeed.neostrada.pl!unt-exc-0
    2.news.neostrada.pl!unt-spo-a-02.news.neostrada.pl!news.neostrada.pl.POSTED!not
    -for-mail
    Date: Sat, 01 Feb 2014 12:55:38 +0100
    From: Robert Winkler <n...@n...org>
    User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:24.0) Gecko/20100101
    Thunderbird/24.2.0
    MIME-Version: 1.0
    Newsgroups: pl.comp.programming
    Subject: Re: Jak połączyć zmiany w repozytoriach kilku użytkowników gita?
    References: <lcikh9$qq5$1@node1.news.atman.pl>
    In-Reply-To: <lcikh9$qq5$1@node1.news.atman.pl>
    Content-Type: text/plain; charset=UTF-8; format=flowed
    Content-Transfer-Encoding: 8bit
    Lines: 37
    Message-ID: <52ece0b9$0$2212$65785112@news.neostrada.pl>
    Organization: Telekomunikacja Polska
    NNTP-Posting-Host: 89-70-188-240.dynamic.chello.pl
    X-Trace: 1391255737 unt-rea-b-01.news.neostrada.pl 2212 89.70.188.240:50354
    X-Complaints-To: a...@n...neostrada.pl
    Xref: news-archive.icm.edu.pl pl.comp.programming:205064
    [ ukryj nagłówki ]

    W dniu 2014-02-01 12:07, Borneq pisze:
    > Normalnie gita używam w ten sposób że na serwerze jest już zatwierdzona
    > wersja, w repozytorium lokalnym jeśli nie było push nowsza wersja a w
    > plikach jeszcze nowsze poprawki (jeśli nie było commit).
    > Teraz na komputerze mam jedno repozytorium lokalne a na laptopie drugie
    > repozytorium lokalne. Oba połączone z serwerem i w obu modyfikacje
    > względem serwera, w każdym inne.
    > Gdy na laptopie chcę wykonać push, powoduje to błąd (czy też błąd był
    > wtedy gdy w jednym wykonałem push i w drugim chciałem). Jak w takim
    > razie postępować? Przecież brak blokowania plików to największa zaleta
    > nowszych systemów kontroli wersji.

    Drugą zaleta nowych systemów kontroli wersji jest wygodny
    i dużo bardziej inteligentny mechanizm Merge.
    Jeśli chcesz więc wysłać swoje zmiany na serwer,
    to po pierwsze commitujesz je do lokalnego repo,
    robisz pulla, aby pobrać ostatnie zmiany w danym branchu ze wspólnego
    serwera,
    następnie robisz merge aby połaczyć lokalne zmiany z serwerowymi.
    W tym momencie mogą powstać konflikty, musisz je wszystkie rozwiązać,
    sprawdzić czy projekt po tej operacji dalej się kompiluje,
    sprawdzić czy nie popsuły się jakieś unit testy, oraz czy wszystko dalej
    działa prawidłowo (smoke test).
    Na koniec robisz pusha na serwer.

    Warto też pulla połączyć z rebase
    git pull --rebase
    wówczas w czasie pobierania danych lokalny git "przeniesie" twoje zmiany
    jako późniejsze niż te pobrane z serwera.
    Oczywiście tu tez mogą powstać konflikty które trzeba rozwiązywać.

    Ps.
    Poszukaj w necie informacji o git-flow,
    może ci się to przydać a na pewno rzuci trochę światła
    na to jak inni używają git-a

    /Robert

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: