2016-03-04 19 views
13

Tôi đang làm việc trên một dự án và tôi đã gửi yêu cầu kéo đầu tiên của mình và trong khi chờ đợi tôi muốn tiếp tục làm việc trên dự án của mình. trên. Ngay bây giờ tôi có:Làm việc trong khi chờ PR chờ đợi

*master 
user_story_1 

user_story_1 có yêu cầu kéo mở.

Bây giờ tôi đang cố gắng tạo chi nhánh mới user_story_2 nơi tôi có thể tiếp tục công việc tôi đã để lại tại user_story_1. Làm thế nào tôi có thể làm điều này trong Git mà không nhận được vào bất kỳ xung đột hoặc ảnh hưởng đến hợp nhất đang chờ xử lý của tôi?

Trả lời

27

Tôi giả sử bạn muốn bắt đầu chi nhánh user_story_2 mới ở trên cùng của công việc bạn đã thực hiện trong user_story_1. Dưới đây là những công việc tôi sử dụng trong loại kịch bản này:

  1. mở Kéo Yêu cầu user_story_1:

    * (user_story_1) 
        * 
    /
    * (master) 
    * 
    * 
    
  2. Tạo chi nhánh mới user_story_2 dựa trên user_story_1:

    $ git checkout -b user_story_2 user_story_1
    * (user_story_1, user_story_2) 
        * 
    /
    * (master) 
    * 
    * 
    
  3. Làm việc trên chi nhánh mới:

    * (user_story_2) 
        *  
        * (user_story_1) 
        * 
    /
    * (master) 
    * 
    * 
    
  4. Kéo Yêu cầu được sáp nhập:

    * (user_story_2) 
        *  
    * | (master) 
    |\| 
    | * (user_story_1) 
    | * 
    |/ 
    * 
    * 
    * 
    
  5. Xóa chi nhánh cũ:

    * (user_story_2) 
        *  
    * | (master) 
    |\| 
    | * 
    | * 
    |/ 
    * 
    * 
    * 
    
  6. rebase chi nhánh mới vào master:

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

Điều gì xảy ra nếu chi nhánh đầu tiên bị từ chối? – Narayon

+2

Tôi thường sẽ rebase 'user_story_2' vào' master': 'git rebase --onto master user_story_1 user_story_2' - có thể dẫn đến xung đột nếu hai nhánh không hoàn toàn độc lập. – alextercete

4

Tạo chi nhánh mới từ chính cho từng câu chuyện/tính năng của bạn.

Trước khi hợp nhất từng chi nhánh trở lại, hãy hợp nhất chính vào nhánh đó hoặc rebase nhánh của bạn thành chính. Sau này có sở thích của tôi, nhưng cuối cùng kết quả là như nhau.

Bạn sẽ nhận được xung đột, không có cách nào xung quanh điều đó. Tuy nhiên, bạn muốn giải quyết xung đột trong chi nhánh của mình; không phải là chủ. Bằng cách này, bạn có thể kiểm tra chi nhánh của mình sau khi giải quyết xung đột trước khi hợp nhất thành chi nhánh.

Các vấn đề liên quan