Можно ли вернуть только блок изменений кода коммита? - PullRequest
3 голосов
/ 05 марта 2020

Итак, я работаю с Visual Studio Code и Sourcetree.

Допустим, у меня есть файл с именем Occupation.ts

Occation .ts ( Initial Commit * )

private getOccupationCategoryTable(index: number): string {
    switch (index) {
        case 0:
        case 1: return 'occupationCategoryLookUpCommon';
        case 2: return 'occupationCategoryLookUpCreditCard';
        case 3: return 'occupationCategoryLookUpASB';
    }
}

private saveOccupationTable(index: number): string {
    switch (index) {
        case 0:
        case 1: return 'saveOccupationCategoryLookupCommon';
        case 2: return 'saveOccupationCategoryLookupCreditCard';
        case 3: return 'saveOccupationCategoryLookupASB';
    }
}

private updateOccupationTable(index: number): string {
    switch (index) {
        case 0:
        case 1: return 'updateOccupationLookupDetailCommon';
        case 2: return 'updateOccupationLookupDetailCreditCard';
        case 3: return 'updateOccupationLookupDetailASB';
    }
}

Теперь я внес в этот файл некоторые изменения.

Occupation.ts ( Последние изменения )

private getOccupationCategoryTable(index: number): string {
    switch (index) {
        case 0:
        case 1: return 'occupationLookUpCommon';
        case 2: return 'occupationLookUpCreditCard';
        case 3: return 'occupationLookUpASB';
    }
}

private saveOccupationTable(index: number): string {
    switch (index) {
        case 0:
        case 1: return 'saveOccupationLookupCommon';
        case 2: return 'saveOccupationLookupCreditCard';
        case 3: return 'saveOccupationLookupASB';
    }
}

private updateOccupationTable(index: number): string {
    switch (index) {
        case 0:
        case 1: return 'updateOccupationLookupDetailCommon';
        case 2: return 'updateOccupationLookupDetailCreditCard';
        case 3: return 'updateOccupationLookupDetailASB';
    }
}

Итак, я внес изменения в функции getOccupationCategoryTable и saveOccupationTable. Теперь я хотел отменить свои изменения только в getOccupationCategoryTable. Есть ли git способ достичь этого?

Ответы [ 2 ]

0 голосов
/ 05 марта 2020

Вернуть неверный коммит и передать флаг -n. Это должно создать новый коммит, но он внесет эти «отмененные» изменения. Затем простой git reset отменит эти изменения, а затем с помощью SourceTree выборочно отменит чанки в этом файле:

  1. git revert -n <Commit Id>
  2. git reset
  3. Откройте SoureTree и выберите измененный файл
  4. Стадии, которые «отменяют» неверный код.
  5. Commit.
0 голосов
/ 05 марта 2020
  1. Укажите хэш / контрольную сумму коммита, который вы хотите отменить, используя git утилиту журнала git log
  2. Далее git revert -n <checksum>, чтобы отменить изменения файла для указанного c совершать. Эти отмененные изменения файла будут помечены.
  3. git reset для отмены удаления изменений файла, сделанных при возврате.
  4. Затем git add "staged file" «отмена изменения файла» в области подготовки для фиксации.
  5. git commit -m "commit your changes" предоставляет сообщение о фиксации для поэтапных изменений.
  6. git push -u origin master pu sh изменяется на удаленный источник.

DV CSs, например * Цель 1028 * заключается в том, чтобы предоставить каждому локальному клиенту полную резервную копию репозитория проекта, а не просто снимок, подобный старому V CSs, по этой конкретной причине c, чтобы пользователи могли использовать утилиты git log и git revert ,

...