1

У меня есть некоторые файлы, которые я только что зафиксировал в моем git-репо:

C:\core\guidewire\Release\5.3_MT1\ClaimCenter> git diff - голова только для имени ^^ ClaimCenter/modules/configuration/config/web/pcf/TabBar.pcf ClaimCenter/modules/configuration/config/web/pcf/team/user/TeamUserClaims.pcf ClaimCenter/modules/configuration/gsrc/ civils / cc /pcf_gs / team / TeamTabLastUser.gs

Теперь я хочу записать пути и сделать что-то еще с ними, но команда git diff не производит (?) любые строки для FOR /F для итерации:

C:\core\guidewire\Release\5.3_MT1\ClaimCenter> для /f% p in ('git diff - head-only name ^^') do @ (echo% p)

C:\ядро \проволочный \Release\5.3_MT1\ClaimCenter>

Что тут происходит? Сначала я ожидал, что в моем синтаксисе была какая-то ошибка, но дифференцирование по другим целям работает внутри цикла for. Например, «master ^^» доказывает, что это не просто побег, играющий хаос:

C:\core\guidewire\Release\5.3_MT1\ClaimCenter> для /f% p in ('git diff - только для имени мастера ^^') do @ (echo% p) ClaimCenter /modules /configuration /config /rules /Reopened/ClaimReopened_dir/CRO05000ApplyCustomReopenRule_dir/CRO05010AssignToOriginalAdjuster.gr ClaimCenter /modules / Configuration / Config / Rules / Reopened / ClaimReopened_dir / CRO05000 / CRO05000 /config_clanf_class_Chip_Care_Clay_Care_CoE_CFBRec_RacFB_Rec_Rec_Rec_Rack_Rec_Rec_Rec_Rack_Rack_Rack_Rack_C_D config / web / pcf / team / user / TeamUserClaims.pcf ClaimCenter /modules /configuration / gsrc / граждан / cc / pcf_gs / team / TeamTabLastUser.gs

1 ответ1

0

Дважды убери "голову ^" к "голову ^^^^":

C:\core\guidewire\Release\5.3_MT1\ClaimCenter> для /f% p in ('git diff - head-only head ^^^^') do @ (echo% p)
ClaimCenter / модули / конфигурация / конфигурация / веб / PCF / TabBar.pcf
ClaimCenter / модули / конфигурация / конфигурация / веб / PCF / команда / пользователь / TeamUserClaims.pcf
ClaimCenter / модули / конфигурации / gsrc / граждане / куб.см / pcf_gs / команда / TeamTabLastUser.gs

Когда CMD запускает указанную команду, происходит второй раунд расширения, так что ^^ становится ^ а затем , На самом деле, тестовый пример, отличающийся от «master ^^», ничего не доказывает, так как в итоге не осталось лишних символов. Исходная командная строка просто отличала HEAD от HEAD, в которой, конечно, нет файлов, которые были изменены.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .