git checkout master # first get back to master
git checkout experiment -- app.js # then copy the version of app.js
# from branch "experiment"
එක් ගොනුවක වෙනස්කම් අහෝසි කරන්නේ කෙසේදැයි බලන්න.
යාවත්කාලීන කිරීම 2019 අගෝස්තු, Git 2.23
නව git switch
සහ git restore
විධාන සමඟ, එය වනුයේ:
git switch master
git restore -s experiment -- app.js
පෙරනිමියෙන්, වැඩ කරන ගස පමණක් ප්රතිෂ් .ාපනය වේ.
ඔබ මෙන්ම දර්ශකය යාවත්කාලීන කිරීමට අවශ්ය නම් (ගොනුව අන්තර්ගතයට නැවත අර්ථය හා එක් විධානය දර්ශකය එය එක් කරන්න):
git restore -s experiment --staged --worktree -- app.js
# shorter:
git restore -s experiment -WS -- app.js
ලෙස Jakub Narębski අදහස් සඳහන්:
git show experiment:path/to/app.js > path/to/app.js
“ Git හි නිශ්චිත සංශෝධනයෙන් එක් ගොනුවක් ලබා ගන්නේ කෙසේද? ” යන SO ප්රශ්නයේ විස්තර කර ඇති පරිදි හැර , ඔබ ද ක්රියා කරයි, ඔබ repo හි මූල නාමාවලියෙන් සම්පූර්ණ මාර්ගය භාවිතා කළ යුතුය.
එබැවින් ජකබ් ඔහුගේ උදාහරණයේ භාවිතා කළ මාර්ගය / to / app.js.
ලෙස සිහිවෙන්න එම ප්රකාශය තුළ සඳහන්:
ඔබට ලැබෙන්නේ app.js හි නවතම තත්වය පමණි
SO ප්රශ්නයේ “ git gui හි ගොනුවක් git checkout revision ” හි දක්වා ඇති පරිදි ඔබට අවශ්ය ඕනෑම සංශෝධනයක් සඳහා git checkout
හෝ git show
සැබවින්ම ඔබට යොමු කළ හැකිය :
$ git show $REVISION:$FILENAME
$ git checkout $REVISION -- $FILENAME
I FILENAME යනු සංස්කරණය කරන ලද ගොනුවක සම්පූර්ණ මාවතකි .
$REVISION
පහත පරිදි විය හැකිය git rev-parse
:
experiment@{yesterday}:app.js # app.js as it was yesterday
experiment^:app.js # app.js on the first commit parent
experiment@{2}:app.js # app.js two commits ago
සහ යනාදි.
schmijos අදහස් දැක්වීමේදී එකතු කරයි :
ඔබට මෙය තොගයකින් කළ හැකිය:
git checkout stash -- app.js
ඔබ ශාඛා දෙකක වැඩ කරන අතර කැපවීමට අකමැති නම් මෙය ඉතා ප්රයෝජනවත් වේ.