Git псевдоним для git checkout старый файл ревизии как новое имя файла - PullRequest
0 голосов
/ 04 июля 2019

Я хочу иметь новый псевдоним git, с помощью которого я могу извлекать файлы из более ранней ревизии под новыми именами файлов.

У меня есть псевдоним для отображения журнала, сохраненный в моем C: \ Users \ nguyen \ .gitconfig

[user]
name = Tin Nguyen
email = xx@xx.com

[diff]
tool = winmerge

[difftool "winmerge"]
cmd = "'C:/Program Files (x86)/WinMerge/WinMergeU.exe'" -e "$LOCAL" "$REMOTE"

[alias]
    alog = log --all --decorate --oneline --graph

Я пытался применить то, что у меня было, с помощью difftool, но каким-то образом я продолжал неправильно понимать синтаксис.

Здесь был дан ответ на вопрос, как выполнить git checkout для файла с новым именем файла: git-checkout более старая версия файла с новым именем

git show 4c274dd91dc:higgs/Higgs.xcodeproj/project.pbxproj > old_project.pbxproj
prompt> 

Я хочу написать:

git smartout 4c274dd91dc oldname.py as newname.py

1 Ответ

0 голосов
/ 04 июля 2019
git config --global alias.smartout '!f() { !git show $1:$3 > $2; }; f'

затем

git smartout 4c274dd91dc fullpath/to/oldname.py fullpath/to/newname.py

(В качестве обозначения обратите внимание на маленькое слово «как», которое я убрал из желаемого вами формата, потому что оно доставляло много хлопот, длятолько «выгода» от того, что каждое использование будет немного длиннее для ввода. сомнения phd в отношении полезности псевдонима были бы еще более точными с дополнительным словом здесь.)

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