Git checkout в ветви функции для предыдущего коммита и отражает изменения в коде других разработчиков - PullRequest
1 голос
/ 13 марта 2019

Над проектом работает несколько удаленных разработчиков.

Новая функция работала, скажем, featureBranch.Теперь другие разработчики находятся на ветке dev_1 и dev_2 соответственно.Они взяли на вооружение featureBranch, обновили свой код и начали работать над ним, и через несколько дней отправили свой код на удаленный сервер в своих соответствующих филиалах.

Теперь было решено, что *Код 1009 * должен быть возвращен к предыдущему коммиту без потери изменений.Таким образом, разработчик, работающий над featureBranch, сделал checkout предыдущего рабочего коммита и создал отдельную ветвь, назовем ее featureRevert.Теперь разработчик попросил нас интегрировать наши изменения, над которыми мы работали последние несколько дней, в этот featureRevert.

Есть ли способ сделать это без необходимости вручную интегрировать изменения после создания наших собственных веток из featureRevert как из того, что я знаю, принимая в dev_1 или dev_2 просто из featureRevertне будет работать и не будет перезаписывать работу featureBranch.

    Day 1:
    
   
    Developer working on featureBranch:
    
    git add -A
    git commit -m “Worked on feature day 1”
    
    git pull origin featureBranch
    
    git push origin featureBranch

    Developer working on dev_1:
    git add -A
    git commit -m “dev_1 changes”
    
    git pull origin featureBranch
    git push origin dev_1
    
    

    Developer working on dev_2:
    git add -A
    git commit -m “dev_2 changes”
    
    git pull origin featureBranch
    git push origin dev_2
    
    
    

    Day 2:
    
    Same as day 1
    
    
    
    .
    .
    .
    Day n (Decided to go back to previous commit on featureBranch to lets say day - 10):
    
    Developer working on featureBranch:
    
    git add -A
    git checkout -b featureRevert a9c146a09505837ec03b
    
    git push origin featureRevert

Теперь любой код, отсутствующий между featureRevert и featureBranch, следует удалить из dev_1 и dev_2.Есть ли способ сделать это с помощью git?

1 Ответ

0 голосов
/ 13 марта 2019

В этой ситуации вы всегда можете использовать вишню. Вишня выбирает нужные коммиты из dev_1 и dev_2 в ветку featureRevert.

Вы можете увидеть здесь Вишня

См. Также Как выбрать несколько коммитов

Если вы хотите, чтобы вишня выбрала изменения только для одного файла, а не для всего коммита Вы можете посмотреть на

Как выбрать изменения только для одного файла, а не для всего коммита

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...