Git අනුවාදය භාවිතා කරමින් ගොනුවක වෙනස් කිරීමේ ඉතිහාසය බලන්න


3101

Git හි තනි ගොනුවක වෙනස් කිරීමේ ඉතිහාසය, වෙනස් වී ඇති දේ සමඟ සම්පූර්ණ විස්තර මා දකින්නේ කෙසේද?

මට හැකි තාක් දුරට:

git log -- [filename]

එමඟින් මට ගොනුවේ කැපවීමේ ඉතිහාසය පෙන්වයි, නමුත් එක් එක් ලිපිගොනු වෙනස්වීම් වල අන්තර්ගතය ලබා ගන්නේ කෙසේද?

මම MS SourceSafe සිට සංක්රමණය කරන්න උත්සාහ සරල විය කිරීම සඳහා භාවිතා කරන ඉන්නේ right-clickshow history.


41
ඉහත සබැඳිය තවදුරටත් වලංගු නොවේ. මෙම සබැඳිය අද ක්‍රියාත්මක වේ: Git Community Book
chris

1
ඉහත සබැඳිය (ක්‍රිස් විසින් පළ කරන ලදි) තවදුරටත් වලංගු නොවේ. මෙම සබැඳිය අද ක්‍රියාත්මක වේ: git-scm.com/book/en/v2
Cog

Answers:


2374

මේ සඳහා මම භාවිතා කරන්නේ:

gitk [filename]

හෝ අතීත නම් නැවත ගොනු කිරීම

gitk --follow [filename]

28
නමුත් ඉහත සඳහන් දේ 'git blame' සමඟ සංයුක්ත කරන මෙවලමක් මා සතුව ඇත, එය කාලයාගේ ඇවෑමෙන් වෙනස් වන විට ගොනුවක මූලාශ්‍රය පිරික්සීමට මට ඉඩ සලසයි ...
Egon Willighagen

26
අවාසනාවට, මෙය අතීතයේ නම් කළ ගොනුවේ ඉතිහාසය අනුගමනය නොකරයි.
ඩෑන් මෝල්ඩින්

146
කලින් නම් කරන ලද ලිපිගොනු වල ඉතිහාසය ද මම සොයමින් සිටියෙමි. විසඳුම වන්නේ ෆිල් මෙහි පෙන්වා දුන් පරිදි "git log --follow <filename>" භාවිතා කිරීමයි.
ෆ්ලෝරියන් ගට්මන්

115
කතුවරයා විධාන රේඛා මෙවලමක් සොයමින් සිටියේය. Gitk GIT සමඟ එන අතර එය විධාන රේඛා යෙදුමක් හෝ විශේෂයෙන් හොඳ GUI එකක් නොවේ.
mikemaccana

73
ඔහු විධාන රේඛා මෙවලමක් සොයමින් සිටියාද? "දකුණු ක්ලික් කරන්න -> ඉතිහාසය පෙන්වන්න" නිසැකවම එයින් ඇඟවෙන්නේ නැත.
hdgarrood

2243

ඔයාට පාවිච්චි කරන්න පුළුවන්

git log -p filename

එක් එක් ලොග් ප්‍රවේශය සඳහා පැච් ජනනය කිරීමට git ට ඉඩ දීමට.

බලන්න

git help log

තවත් විකල්ප සඳහා - එයට සැබවින්ම හොඳ දේවල් රාශියක් කළ හැකිය :) නිශ්චිත කැපවීමක් සඳහා වෙනස ලබා ගැනීමට ඔබට කළ හැකිය

git show HEAD 

හෝ හඳුනාගැනීමෙන් වෙනත් සංශෝධනයක්. නැතහොත් භාවිතා කරන්න

gitk

වෙනස්කම් දෘශ්‍ය ලෙස පිරික්සීමට.


8
git show HEAD සියළුම ලිපිගොනු පෙන්වයි, තනි ගොනුවක් නිරීක්ෂණය කරන්නේ කෙසේදැයි ඔබ දන්නවාද (රිචඩ් ඉල්ලා සිටි පරිදි)?
ජොනස් බිස්ට්‍රෝම්

5
ඔබ භාවිතා කරන්නේ: git show <revision> - ගොනු නාමය, එකක් තිබේ නම් එම සංශෝධනය සඳහා වෙනස පෙන්වයි.
මාකෝස් ඔලිවෙයිරා

4
--stat ද ප්‍රයෝජනවත් වේ. -P සමඟ ඔබට එය භාවිතා කළ හැකිය.
රෆි ඛට්චඩූරියන්

5
මේක නියමයි. තවදුරටත් නොපවතින මාර්ග නියම කිරීමේදී gitk හොඳින් ක්‍රියා නොකරයි. මම git log -p - path භාවිතා කළා.
පාවුලෝ කැසරෙටෝ

6
ප්ලස් ගිට්ක් පෙනෙන්නේ එය බූගී රාක්ෂයා විසින් ගොඩනගා ඇති බවයි. මෙය හොඳ පිළිතුරක් වන අතර මුල් ප්‍රශ්නයට ගැලපෙන පරිදි සකස් කර ඇත.
ගයිස්

1505

git log --follow -p -- path-to-file

මෙය ගොනුවේ සමස්ත ඉතිහාසයම පෙන්වනු ඇත (නැවත නම් කිරීමට එහා ගිය ඉතිහාසය සහ එක් එක් වෙනස සඳහා වෙනස සහිතව).

වෙනත් වචන වලින් කිවහොත්, නම් කරන ලද ගොනුව barවරක් නම් කර ඇත්නම් foo, git log -p bar( --followවිකල්පයක් නොමැතිව ) ගොනුවේ ඉතිහාසය නැවත නම් කරන ලද ස්ථානය දක්වා පමණක් පෙන්වනු ඇත - එය දන්නා විට ගොනුවේ ඉතිහාසය පෙන්වන්නේ නැත foo. භාවිතා කිරීම git log --follow -p barමඟින් ගොනුව හැඳින්වූ විට සිදු වූ වෙනස්කම් ඇතුළුව එහි සම්පූර්ණ ඉතිහාසය පෙන්වනු ඇත foo. මෙම -pවිකල්පය diffs එක් එක් වෙනසක් සඳහා ඇතුළත් වන බව සහතික කරයි.


18
--stat ද ප්‍රයෝජනවත් වේ. -P සමඟ ඔබට එය භාවිතා කළ හැකිය.
රෆි ඛට්චඩූරියන්

25
මෙය සත්‍ය පිළිතුර බව මම එකඟ වෙමි. (1.) --followඔබ ගොනු නැවත නම් කරන -pබව සහතික කරයි (2.) ගොනුව වෙනස් වන ආකාරය ඔබ දකින බව සහතික කරයි (3.) එය විධාන රේඛාව පමණි.
ට්‍රෙවර් බොයිඩ් ස්මිත්

3
HNHDaly --එය එකතු කර ඇති බව මම දුටුවෙමි, නමුත් මෙය වඩාත් සුදුසු වන්නේ මන්දැයි මම නොදනිමි. එය කරන්නේ කුමක්ද?
බෙන්ජොන්

40
En බෙන්ජෝන් --විකල්පය Git ට පවසන්නේ එය විකල්පයේ අවසානයට පැමිණ ඇති බවත් පසුව එන ඕනෑම දෙයක් --තර්කයක් ලෙස සැලකිය යුතු බවත්ය. මක්නිසාද යත් git logමෙය කිසියම් වෙනසක් සිදු කරන්නේ ඔබට ඉරකින් ආරම්භ වන මාර්ග නාමයක් ඇත්නම් පමණි . "git log --follow -p -- --follow
ඩෑන් මෝල්ඩින්

10
En බෙන්ජෝන්: සාමාන්‍යයෙන් --මෙය ප්‍රයෝජනවත් වන්නේ එයට revisionඔබ ඇතුළු කළ ගොනු නාමයට ගැලපෙන ඕනෑම නමකින් ආරක්ෂා විය හැකි නිසා එය ඇත්තෙන්ම බියජනක විය හැකිය. උදාහරණයක් ලෙස: ඔබට ශාඛාවක් සහ ගොනුවක් යන දෙකම තිබේ නම් foo, git log -p fooඑය පෙන්වන්නේ git ලොග් ඉතිහාසය දක්වා fooමිස ගොනුවේ ඉතිහාසය නොවේ foo. නමුත් anDanMoulding නිවැරදියි, --followවිධානය එක් ගොනු නාමයක් පමණක් එහි තර්කය ලෙස ගන්නා බැවින් මෙය අවශ්‍ය නොවන බැවින් එය a විය නොහැක revision. මම ඒක ඉගෙන ගත්තා. සමහර විට ඔබ එය ඔබගේ පිළිතුරෙන් ඉවත් කිරීමට සුදුසු විය හැකිය; මට විශ්වාස නැහැ.
එන්එච්ඩාලි

172

ඔබ පෙළ මත පදනම්ව සිටීමට කැමති නම්, ඔබට ටයිග් භාවිතා කිරීමට අවශ්‍ය විය හැකිය .

ඉක්මන් ස්ථාපනය:

  • apt-get :# apt-get install tig
  • හෝම්බ rew (OS X) :$ brew install tig

තනි ගොනුවක ඉතිහාසය බැලීමට එය භාවිතා කරන්න: tig [filename]
නැතහොත් සවිස්තරාත්මක repo ඉතිහාසය පිරික්සන්න:tig

සමාන gitkනමුත් පෙළ පදනම් කරගත්. පර්යන්තයේ වර්ණ සඳහා සහය දක්වයි!


23
විශිෂ්ට පෙළ මත පදනම් වූ මෙවලමක්, විශිෂ්ට පිළිතුරක්. මගේ හිස් නැති සේවාදායකයේ gitk ස්ථාපනය සඳහා වන පරායත්තතා දුටු විට මම බියට පත් වුණෙමි. නැවත ඉහළට එනු ඇත A +++
ටොම් මැකෙන්සි

ඔබට tig -- path/to/specific/file
ටයිග්

110

git whatchanged -p filenamegit log -p filenameමෙම නඩුවේදී ද සමාන වේ .

ගොනුවක් තුළ නිශ්චිත කේත රේඛාවක් වෙනස් කළ විට ඔබට දැක ගත හැකිය git blame filename. මෙමඟින් ගොනුවේ සෑම පේළියක් සඳහාම කෙටි කැපවීමේ හැඳුනුම්පතක්, කර්තෘ, කාලරාමුව සහ සම්පූර්ණ කේත පේළියක් මුද්‍රණය කෙරේ. ඔබ දෝෂයක් සොයාගත් පසු මෙය ඉතා ප්‍රයෝජනවත් වන අතර එය හඳුන්වා දුන් දිනය දැන ගැනීමට ඔබට අවශ්‍යය (හෝ එය කාගේ වරදක්ද).


4
+1, නමුත් filenameඅත්‍යවශ්‍ය නොවේ git blame filename.
rockXrock

7
"නව පරිශීලකයින් ඒ වෙනුවට git-log භාවිතා කිරීමට උනන්දු කරනු ලැබේ. (...) විධානය මූලික වශයෙන් historical තිහාසික හේතූන් මත තබා ඇත;"
ciastek

105

SourceTree භාවිතා කරන්නන්

ඔබේ ගබඩාව දෘශ්‍යමාන කිරීමට ඔබ SourceTree භාවිතා කරන්නේ නම් (එය නොමිලේ සහ තරමක් හොඳයි) ඔබට ගොනුවක් දකුණු ක්ලික් කර ලොග් තෝරාගත් තෝරා ගත හැකිය

රූප විස්තරය මෙහි ඇතුළත් කරන්න

දර්ශනය (පහළ) gitk ට වඩා මිත්‍රශීලී වන අතර ලැයිස්තුගත කර ඇති අනෙකුත් බොහෝ විකල්ප. අවාසනාවට (මේ අවස්ථාවේ දී) විධාන රේඛාවෙන් මෙම දැක්ම දියත් කිරීමට පහසු ක්‍රමයක් නොමැත - SourceTree හි CLI දැනට repos විවෘත කරයි.

රූප විස්තරය මෙහි ඇතුළත් කරන්න


1
මම විශේෂයෙන් කැමතියි "නැවත නම් කරන ලද ගොනු අනුගමනය කරන්න", එමඟින් ගොනුවක් නැවත නම් කර හෝ ගෙන ගොස් ඇත්දැයි බැලීමට ඔබට ඉඩ සලසයි.
ක්‍රිස්

නමුත් මම වරදවා වටහා නොගත්තොත් (කරුණාකර මට දන්වන්න!), කෙනෙකුට සංසන්දනය කළ හැක්කේ වරකට අනුවාද දෙකක් පමණි. එකවර විවිධ අනුවාද කිහිපයක් වෙනස් කිරීම සඳහා අලංකාර අතුරු මුහුණතක් ඇති සේවාදායකයින් සිටීද? උත්කෘෂ්ට පෙළෙහි මෙන් විශාලනය කළ හැකි දර්ශනයක් තිබිය හැකිද? එය ඇත්තෙන්ම ප්‍රයෝජනවත් වනු ඇතැයි මම සිතමි.
සෑම් ලෙවලන්

AmSamLewallen මම නිවැරදිව තේරුම් ගත්තා නම් ඔබට වෙනස් කොමිස් තුනක් සංසන්දනය කිරීමට අවශ්‍යද? මෙය තුන් ආකාරයකින් ඒකාබද්ධ කිරීමකට සමානයි (මගේ, ඔබේ, පදනම) - සාමාන්‍යයෙන් මෙම උපක්‍රමය භාවිතා කරනුයේ ඒකාබද්ධ කිරීමේ ගැටුම් නිරාකරණය කිරීම සඳහා වන අතර එය අත්තනෝමතික කොමිස් තුනක් සංසන්දනය නොකරයි. තුන් ආකාරයකින් ඒකාබද්ධ කිරීමට සහාය වන බොහෝ මෙවලම් තිබේ stackoverflow.com/questions/10998728/… නමුත් උපක්‍රමය මඟින් මෙම මෙවලම් පෝෂණය කරනුයේ නිශ්චිත සංශෝධන gitready.com/intermediate/2009/02/27/…
මාර්ක් ෆොක්ස්

ස්තූතියි මාක් ෆොක්ස්, මම අදහස් කළේ එයයි. එය කරන ඕනෑම යෙදුම් ගැන ඔබ දැන ගන්නේද?
සෑම් ලෙවලන්

1
@ මාර්නන්ලයිබෝ-කොසර් මට එකල SHA අවශ්‍ය වූයේ මන්දැයි මට මතක නැත. අහහා.
AechoLiu

63

ගොනුවක එක් එක් පේළිය අවසන් වරට වෙනස් කළේ කුමන සංශෝධනය සහ කර්තෘද යන්න පෙන්වීමට:

git blame filename

හෝ ඔබට GUI හි ප්‍රබල දොස් පැවරීමට අවශ්‍ය නම්:

git gui blame filename

49

ඒවා කියවා ටිකක් සෙල්ලම් කිරීමෙන් පසු වෙනත් පිළිතුරු වල සාරාංශය:

සුපුරුදු විධාන රේඛා විධානය වනු ඇත

git log --follow --all -p dir/file.c

නමුත් ඔබට එය බැලීමට වඩා මිනිස් කියවිය හැකි ක්‍රම ලබා දීමට gitk (gui) හෝ tig (text-ui) භාවිතා කළ හැකිය.

gitk --follow --all -p dir/file.c

tig --follow --all -p dir/file.c

ඩෙබියන් / උබුන්ටු යටතේ, මෙම සුන්දර මෙවලම් සඳහා ස්ථාපනය කිරීමේ විධානය අපේක්ෂිත පරිදි වේ:

sudo apt-get install gitk tig

මම දැනට භාවිතා කරන්නේ:

alias gdf='gitk --follow --all -p'

එවිට මට gdf dirඋප බහලුමේ ඇති සෑම දෙයක්ම කේන්ද්‍රගත ඉතිහාසයක් ලබා ගැනීමට ටයිප් කළ හැකිය dir.


2
මම හිතන්නේ මේක හොඳ පිළිතුරක්. සමහර විට ඔබ ඡන්දය නොදෙන්නේ ඔබ වෙනත් ක්‍රමවලට පිළිතුරු දෙන නිසා (IMHO වඩා හොඳ) වෙනස්කම් දැකීමට එනම් gitk සහ tig හරහා git වලට අමතරව ය.
පොප්කෝන්කිං

පිළිතුරට එකතු කිරීමට පමණි. මාර්ගය සොයා ගන්න (git අවකාශයේ, තවමත් ගබඩාවේ පවතී). ඉන්පසු ඉහත සඳහන් විධානය භාවිතා කරන්න "git log --follow --all -p <folder_path / file_path>". ඉතිහාසය පුරා ෆිල්ඩ් / ෆෝල්ඩරය ඉවත් කිරීමට ඉඩ තිබුනි, එබැවින් තවමත් පවතින උපරිම මාර්ගය සොයාගෙන එහි ඉතිහාසය ලබා ගැනීමට උත්සාහ කරන්න. කටයුතු !
පැරස්රිෂ්

2
--allසියලුම ශාඛා සඳහා වන අතර, ඉතිරිය @ ඩෑන් ගේ පිළිතුරෙන් පැහැදිලි වේ
cregox

1
ඔහ් මචං, නැවත නම් කිරීමෙන් ඔබ්බට ගොනුව ලුහුබැඳීමට හොඳ විසඳුමක් සොයමින්, අවසාන වශයෙන්, මම එය මෙහි සොයාගත්තා. චාම් වගේ වැඩ! ස්තූතියි!
xZero

25

මෙම අන්වර්ථය ඔබගේ .gitconfig වෙත එක් කරන්න:

[alias]
    lg = log --all --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset'\n--abbrev-commit --date=relative

මේ වගේ විධානය භාවිතා කරන්න:

> git lg
> git lg -- filename

ප්‍රතිදානය හරියටම gitk ප්‍රතිදානයට සමාන වනු ඇත. විනෝද වන්න.


මම එම කෙටිමඟ ධාවනය කළ පසු, මම කීවෙමි (මම උපුටා දක්වමි) "ලස්සනයි!". කෙසේ වෙතත්, "--graph" පසු "\ n" දෝෂයක් බව සලකන්න.
jmbeck

3
එසේම භාවිතා කළ හැකිය git lg -p filename- එය සෙවූ ගොනුවේ ලස්සන වෙනසක් ලබා දෙයි.
එගල්

22

මෑතකදී මම සොයාගත්තා tig අතර එය ඉතා ප්‍රයෝජනවත් විය. සමහර විට එය A හෝ B කරයි කියා මා සිතන නමුත් බොහෝ විට එය පිළිවෙළකට තිබේ.

ඔබේ නඩුව සඳහා, tig <filename>ඔබ සොයන දේ විය හැකිය.

http://jonas.nitro.dk/tig/


centos yum install tig
zzapper

19

ඔබට GitLens සමඟ vscode භාවිතා කළ හැකිය , එය ඉතා ප්‍රබල මෙවලමකි. GitLens ස්ථාපනය කිරීමෙන් පසු, GitLens පටිත්ත වෙත ගොස්, තෝරන්න FILE HISTORY, ඔබට එය ගවේෂණය කළ හැකිය.

රූප විස්තරය මෙහි ඇතුළත් කරන්න


15

මෙම නිශ්චිත අරමුණ සඳහා මම git-playback ලිවීය

pip install git-playback
git playback [filename]

විධාන රේඛාවේ (වැනි git log -p) ප්‍රති results ල පෙන්වීමේ දෙකෙහිම වාසිය මෙය වන අතර ඊතල යතුරු (වැනි gitk) භාවිතා කරමින් එක් එක් කැපවීම හරහා ගමන් කිරීමට ඔබට ඉඩ සලසයි .



10

ගොනුවක නිශ්චිත කොටසක් වෙනස් කර ඇති කොමිස් ලැයිස්තුගත කර ඇති ඔබට මෙය උත්සාහ කළ හැකිය (Git 1.8.4 හි ක්‍රියාත්මක කර ඇත).

ප්‍රති return ලය වනුයේ මෙම විශේෂිත කොටස වෙනස් කළ කොමිස් ලැයිස්තුවයි. විධානය :

git log --pretty=short -u -L <upperLimit>,<lowerLimit>:<path_to_filename>

ඉහළ සීමාව යනු ආරම්භක_ලයින්_නම්බර් වන අතර පහළ සීමාව යනු ගොනුවේ අවසන්_ලයින්_ අංකය වේ.

වැඩි විස්තර https://www.techpurohit.com/list-some-useful-git-commands


9

ඔබ, ගොනු මුළු ඉතිහාසය බලන්න ඕන නම් ඇතුළු මත අනෙකුත් සියලු ශාඛා භාවිතය:

gitk --all <filename>

7

විශිෂ්ට සමග Git දිගු , ඔබ තරමට ගොනුව තවමත් පැවති ප්රදේශවල ඉතිහාසයේ (, වෙනත් ආකාරයකින් පමණක් හිස යන්න එය මකා දමා ඇති නම්) යන්න, මාරු File treeටැබ්, ගොනුව මත දකුණු-ක්ලික් කරන්න සහ තෝරා File history.

පෙරනිමියෙන්, එය නැවත නම් කිරීම හරහා ගොනුව අනුගමනය කරන අතර, Blameටැබ් එක දී ඇති සංශෝධනයකදී නම බැලීමට ඉඩ දෙයි.

එය පෙන්නුම් මෙන් ඇතැම් සුළු gotchas ඇත fatal: Not a valid object nameතුළ Viewමකාදැමීම් සංශෝධනය මත ක්ලික් කරන විට ටැබ්, නමුත් මම ඒ සමග ජීවත් විය හැකියි. :-)


මෙය වින්ඩෝස් පමණක් බව සඳහන් කිරීම වටී.
ඉවාන් හාන්

3
An ඊවාන්හාන් නිවැරදි නොවේ, මොනෝ හරහා කෙනෙකුට ලිනක්ස් හි GitExtension භාවිතා කළ හැකිය, අපි එය උබුන්ටු මත භාවිතා කරන අතර එය සතුටට කරුණකි. git-extensions-documentation.readthedocs.org/en/latest/…
ෂ්මිල් ද කැට්

7

ඔබ නිධිය මෙනුව යටතේ Git GUI (වින්ඩෝස් මත) භාවිතා කරන්නේ නම් ඔබට "මාස්ටර්ගේ ඉතිහාසය දෘශ්‍යකරණය කරන්න" භාවිතා කළ හැකිය. ඉහළ කවුළුවෙහි කැපවීමක් සහ පහළ දකුණේ ගොනුවක් ඉස්මතු කරන්න, එවිට පහළ වම්පස ඇති එම කැපවීම සඳහා වෙනස ඔබට පෙනෙනු ඇත.


මෙය ප්‍රශ්නයට පිළිතුරු දෙන්නේ කෙසේද?
jmbeck

3
හොඳයි, OP විධාන රේඛාව සඳහන් කර නැති අතර, SourceSafe (එය GUI) වෙතින් ගමන් කිරීම වින්ඩෝස් හි Git GUI හි VSS හි ඔබට කළ හැකි දේම කළ හැකි බව පෙන්වා දීම අදාළ බව පෙනේ.
කෝරි

6

ස්මාර්ට්ගිට් :

  1. වෙනස් නොවන ලිපිගොනු ප්‍රදර්ශනය කිරීමට මෙනුවේ සක්‍රීය කරන්න: වෙනස් නොවන ගොනු බලන්න / පෙන්වන්න
  2. ගොනුව මත දකුණු ක්ලික් කර 'ලොග්' තෝරන්න හෝ 'Ctrl-L' ඔබන්න

4

මම සොයන පිළිතුර මෙම ත්‍රෙඩ් එකේ නැත, මම කැපවීම සඳහා වේදිකා ගත කළ ලිපිගොනු වල වෙනස්කම් දැකීමයි. එනම්

git diff --cached

1
ඔබට දේශීය (අස්ථායී) වෙනස්කම් ඇතුළත් කිරීමට අවශ්‍ය නම්, මම බොහෝ විට දුවන්නේ git diff origin/masterඔබේ ප්‍රාදේශීය ශාඛාව සහ ප්‍රධාන ශාඛාව අතර ඇති සම්පූර්ණ වෙනස්කම් පෙන්වීමටයි (ඒවා දුරස්ථව සිට යාවත්කාලීන කළ හැකිය git fetch)
ගයිස්

4

ඔබ TortoiseGit භාවිතා කරන්නේ නම් ඔබට ගොනුව මත රයිට් ක්ලික් කර කළ හැකිය TortoiseGit --> Show Log. මතු වන කවුළුව තුළ, වග බලා ගන්න:

  • ' Show Whole Project' විකල්පය සලකුණු කර නැත.

  • ' All Branches' විකල්පය පරීක්ෂා කර ඇත.


TortoiseGit (සහ Eclipse Git ද) කෙසේ හෝ තෝරාගත් ගොනුවේ සංශෝධන මග හැරේ, එය ගණන් නොගන්න!
නොම් මනෝස්

O නෝම්මානෝස්, මට එම ගැටලුව හමු වී නැත, එබැවින් ඔබේ ප්‍රකාශය නිවැරදි දැයි මට තහවුරු කර ගත නොහැක.
user3885927

මගේ වැරැද්ද, එය සිදුවන්නේ සූර්යග්‍රහණය තුළ පමණි, නමුත් ඉබ්බා ගිට් හි ඔබට "සියලු ව්‍යාපෘති පෙන්වන්න" + "සියලු ශාඛා" පරීක්ෂා නොකරන්නේ නම් ගොනුවක සියලුම සංශෝධන දැකිය හැකිය (ගොනුව වෙනත් ශාඛාවක සිදු කර ඇත්නම්, එය ප්‍රධාන වශයෙන් ඒකාබද්ධ වීමට පෙර ශාඛාව). මම ඔබේ පිළිතුර යාවත්කාලීන කරමි.
නොම් මනෝස්

3

git diff -U <filename> ඔබට ඒකාබද්ධ වෙනසක් ලබා දෙන්න.

එය රතු සහ කොළ පාටින් වර්ණ ගැන්විය යුතුය. එය නොමැති නම්, ධාවනය කරන්න: git config color.ui autoපළමුව.


2

ඔබ git ප්ලගිනය සමඟ සූර්යග්‍රහණය භාවිතා කරන්නේ නම්, එය ඉතිහාසය සමඟ විශිෂ්ට සංසන්දනාත්මක දර්ශනයක් ඇත. ගොනුව මත දකුණු ක්ලික් කර "සංසන්දනය කරන්න" => "ඉතිහාසය" තෝරන්න


කෙසේ වෙතත් මකා දැමූ ගොනුවක් සොයා ගැනීමට එය ඔබට ඉඩ නොදේ.
avgvstvs

ගොනුවක අනුවාද දෙකක් සංසන්දනය කිරීම ගොනුවක වෙනස්වන ඉතිහාසය බැලීමට වඩා වෙනස් වේ
ගොලිමාර්

0

මෙය ආරම්භ වන විට OP කොතැනද යන්න ගැන මම බොහෝ විට සිතමි , නිශ්චිත කැපවීමකින් පටන් ගෙන මගේ repo හි ඇති ලිපිගොනු වල වෙනස්කම් සමාලෝචනය කිරීමට vimdiff සමඟ git difftool භාවිතා කිරීමට මට ඉඩ සලසයි . මා සොයාගත් පිළිතුරු ගැන මා එතරම් සතුටු නොවූ අතර, එබැවින් මම මෙම git inc remental rep orter (gitincrep) ස්ක්‍රිප්ට් එකට විසි කළ අතර එය මට ප්‍රයෝජනවත් විය:

#!/usr/bin/env bash

STARTWITH="${1:-}"
shift 1

DFILES=( "$@" )

RunDiff()
{
        GIT1=$1
        GIT2=$2
        shift 2

        if [ "$(git diff $GIT1 $GIT2 "$@")" ]
        then
                git log ${GIT1}..${GIT2}
                git difftool --tool=vimdiff $GIT1 $GIT2 "$@"
        fi
}

OLDVERS=""
RUNDIFF=""

for NEWVERS in $(git log --format=format:%h  --reverse)
do
        if [ "$RUNDIFF" ]
        then
                RunDiff $OLDVERS $NEWVERS "${DFILES[@]}"
        elif [ "$OLDVERS" ]
        then
                if [ "$NEWVERS" = "${STARTWITH:=${NEWVERS}}" ]
                then
                        RUNDIFF=true
                        RunDiff $OLDVERS $NEWVERS "${DFILES[@]}"
                fi
        fi
        OLDVERS=$NEWVERS
done

කිසිදු තර්කයකින් තොරව, මෙය රෙපෝ ඉතිහාසයේ ආරම්භයේ සිටම ආරම්භ වනු ඇත, එසේ නොවුවහොත් එය ඔබ සපයන ඕනෑම සංක්ෂිප්ත කැපකිරීමේ හැෂ් එකකින් ආරම්භ වී වර්තමානය දක්වා ඉදිරියට යනු ඇත - ඔබට පිටවීමට ඕනෑම වේලාවක ctrl-C කළ හැකිය. පළමුවැන්නෙන් පසුව ඇති ඕනෑම තර්කයකින් එම වාර්තා අතර ලැයිස්තුගත කර ඇති ලිපිගොනු පමණක් ඇතුළත් කිරීම සඳහා වෙනස වාර්තා සීමා කරනු ඇත (OP ට අවශ්‍ය වූයේ එය යැයි මම සිතමි. කුඩා ව්‍යාපෘති හැර අන් සියල්ලටම මම නිර්දේශ කරමි). ඔබ විශේෂිත ගොනු වෙත වෙනස්කම් පරීක්ෂා කරන්නේ නම් සහ මුල සිට ආරම්භ කිරීමට අවශ්ය, ඔබ arg1 සඳහා හිස් අගයක් ලබා ගැනීමට ඔබට අවශ්ය විය හැකිය. ඔබ ව්‍යාජ පරිශීලකයෙකු නොවේ නම්, ඔබට ඔබේ ප්‍රියතම වෙනස මෙවලම සමඟ vimdiff ආදේශ කළ හැකිය .

හැසිරීම යනු අදාළ වෙනස්කම් සොයාගත් විට බැඳීම් අදහස් ප්‍රතිදානය කිරීම සහ වෙනස් කළ සෑම ගොනුවක් සඳහාම විම්ඩිෆ් ලකුණු ලබා දීම ආරම්භ කිරීමයි (එය git difftool හැසිරීම, නමුත් එය මෙහි ක්‍රියාත්මක වේ).

මෙම ප්‍රවේශය බොහෝ දුරට බොළඳ ය, නමුත් මෙහි ඇති විසඳුම් බොහොමයක් හා ඒ හා සම්බන්ධ තනතුරක් දෙස බලන විට, බොහෝ දෙනා මට පරිපාලක ප්‍රවේශය නොමැති පද්ධතියක නව මෙවලම් ස්ථාපනය කිරීමට සම්බන්ධ වූ අතර ඔවුන්ගේ ඉගෙනුම් වක්‍රය සහිත අතුරු මුහුණත් ඇත. ඉහත පිටපත ඒ කිසිවක් සමඟ ගනුදෙනු නොකර මට අවශ්‍ය දේ කළේය. මට වඩාත් නවීන යමක් අවශ්‍ය වූ විට මම මෙහි ඇති බොහෝ හොඳ යෝජනා සොයා බලමි - නමුත් මෙය OP ට සෘජුවම ප්‍රතිචාර දක්වන බව මම සිතමි.


0

ගොනුවේ ඉතිහාසය ඉක්මනින් සොයා ගැනීම සඳහා මම ඉතා සරල විසඳුමක් සොයාගෙන ඇත.

  1. ගොනුවේ අහඹු වෙනසක් කරන්න
  2. එය ඔබගේ මූලාශ්‍රයේ නොගැලපෙන වෙනස්කම් ලෙස පෙන්වනු ඇත
  3. ගොනුව මත දකුණු ක්ලික් කර 'ලොග් තෝරාගත්' තෝරන්න

රූප විස්තරය මෙහි ඇතුළත් කරන්න

එය සියලු කොමිස් වල ඉතිහාසය පෙන්වනු ඇත.


මෙම GUI පැමිණෙන්නේ කොහෙන්ද?
කොලිඩයර්

Sourcetree UI. ස්තූතියි
savvyBrar

කවුළු යනු කුමක්ද?
Emobe
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.