2016-03-04 18 views
13

Pracuję nad projektem i przesłałem pierwszą prośbę o wyciągnięcie, a gdy czekam, chcę kontynuować pracę nad moim projektem, budując z tego, nad czym pracowałem przy scalaniu, które wciąż oczekuje na. Teraz mam:Pracuję czekając na rozpatrzenie. PR

*master 
user_story_1 

user_story_1 ma otwarte żądanie ściągnięcia.

Teraz próbuję utworzyć nowy oddział user_story_2, gdzie mogę kontynuować pracę, którą opuściłem pod adresem user_story_1. Jak mogę to zrobić w Git bez żadnych konfliktów lub wpływania na moje oczekujące połączenie?

Odpowiedz

27

Zakładam, że chcesz rozpocząć nowy oddział user_story_2 od pracy wykonanej w user_story_1. Oto Workflow używać w tego rodzaju scenariusz:

  1. Otwarte Pull Prośba o user_story_1:

    * (user_story_1) 
        * 
    /
    * (master) 
    * 
    * 
    
  2. Tworzenie nowego oddziału user_story_2 oparciu o user_story_1:

    $ git checkout -b user_story_2 user_story_1
    * (user_story_1, user_story_2) 
        * 
    /
    * (master) 
    * 
    * 
    
  3. Prace nad nowym oddziałem:

    * (user_story_2) 
        *  
        * (user_story_1) 
        * 
    /
    * (master) 
    * 
    * 
    
  4. Pull Zapytanie zostanie połączone:

    * (user_story_2) 
        *  
    * | (master) 
    |\| 
    | * (user_story_1) 
    | * 
    |/ 
    * 
    * 
    * 
    
  5. Usuń stare Branża:

    * (user_story_2) 
        *  
    * | (master) 
    |\| 
    | * 
    | * 
    |/ 
    * 
    * 
    * 
    
  6. rebase nowy oddział na master:

    * (user_story_2) 
        *  
    /
    * (master) 
    |\ 
    | * 
    | * 
    |/ 
    * 
    * 
    * 
    
+1

Co się stanie, jeśli pierwszy oddział zostanie odrzucony? – Narayon

+2

Zwykle przerzucam 'user_story_2' na' master': 'git rebase --onto master user_story_1 user_story_2' - może powodować konflikty, jeśli dwie gałęzie nie są całkowicie niezależne. – alextercete

4

Utwórz nową gałąź od wzorca dla każdej swojej historii/funkcji.

Przed scaleniem każdego odgałęzienia należy albo połączyć wzorzec główny z gałęzią, albo ponownie rozgałęzić oddział na wzorzec. Ta ostatnia ma moje preferencje, ale ostatecznie wynik jest taki sam.

Będziesz mieć konflikty, nie da się tego obejść. Jednak chcesz rozwiązać konflikty w swojej branży; nie w mistrzostwie. W ten sposób można przetestować swój oddział po rozwiązaniu konfliktów przed połączeniem go z wzorcem.

Powiązane problemy