වේදිකාගත කර ඇති වෙනස්කම් පෙන්වන්නේ කෙසේද?


2150

කැපවිය යුතු වෙනස්කම් කිහිපයක් මම වේදිකා ගත කළෙමි; ඊළඟ කැපවීම සඳහා වේදිකා ගත කර ඇති සියලුම ලිපිගොනු වල වෙනස මා දකින්නේ කෙසේද? මම git තත්ත්වය ගැන දනිමි , නමුත් සත්‍ය වෙනස්කම් දැකීමට මා කැමතිය - වේදිකාගත කර ඇති ගොනු වල නම් පමණක් නොවේ.

Git-diff (1) man පිටුවෙහි සඳහන් වන බව මම දුටුවෙමි

git diff [--options] [-] […]

මෙම පෝරමය දර්ශකයට සාපේක්ෂව ඔබ විසින් සිදු කරන ලද වෙනස්කම් බැලීම (ඊළඟ කැපවීම සඳහා වේදිකා ප්‍රදේශය). වෙනත් වචන වලින් කිවහොත්, වෙනස්කම් යනු දර්ශකයට තවදුරටත් එකතු කරන ලෙස ඔබට git ට පැවසිය හැකි නමුත් ඔබ තවමත් එසේ කර නැත. Git-add (1) භාවිතා කිරීමෙන් ඔබට මෙම වෙනස්කම් සිදු කළ හැකිය.

අවාසනාවට, මට මෙය තේරුම් ගත නොහැක. මට අන්වර්ථයක් නිර්මාණය කළ හැකි පහසු ලයිනර් කිහිපයක් තිබිය යුතුය, නේද?


76
git status -vවැඩ කරනවා. බලන්න මගේ පිළිතුර පහත
VonC

3
OnVonC මම සෑම විටම මෙය භාවිතා කරමි, නමුත් පහත පරිදි නළා lessඇත: git status -v | less- කළමනාකරණය කළ හැකි කුට්ටි :)
ඔෆිස්

Answers:


2626

එය එසේ විය යුතුය:

git diff --cached

--cachedඑනම් ධාරාවට සාපේක්ෂව හැඹිලියේ / දර්ශකයේ (එනම් වේදිකාගත කළ වෙනස්කම්) පෙන්වන්න HEAD. --stagedසඳහා සමාන පදයකි --cached.

--stagedසහ යොමු --cachedනොකෙරේ HEAD, සාපේක්ෂව වෙනසක් HEAD. ඔබ git add --patch(හෝ git add -p) භාවිතා කළ යුතු දේ චෙරි තෝරා --stagedගන්නේ නම්, වේදිකාගත කර ඇති දේ ආපසු ලබා දෙනු ඇත.


35
ඔබට ලිපිගොනු නම් පමණක් අවශ්‍ය නම්, පහත දැක්වෙන git diff --name-only --cachedතනතුරට stackoverflow.com/a/4525025/255187
මයිකල්

4
එක් එක් ගොනුවේ පෙරනිමි දෘශ්‍ය වෙනස මෙවලම දියත් කිරීමට git difftool --stagedවඩා මෙය භාවිතා කරන්න git diff --staged. වෙනත් ඕනෑම තර්ක සමඟ difftoolආදේශ කළ හැකිය diff.
ලයිට්සීසී

git difftool --staged -dවරකට එක් ගොනුවකට වඩා දෘශ්‍ය මෙවලමක ඇති නාමාවලි දෙක වෙනස් කිරීමට ඔබට භාවිතා කළ හැකිය .
රොබට් බර්න්ස්ටයින්

මෙය පිළිතුරක් ලෙස සලකුණු කර ඇති අතර පළමුව පෙන්වීම සඳහා එයට ඉහළින් git වෙනස ඇතුළත් විය යුතුය, පසුව git [[අනෙක් අය]], මගේ ශත 2 පමණි
Vitaliy Terziev

තනි වේදිකා ගොනුවක වෙනස්කම් බැලීමට පහත ක්‍රියා කරනු ඇත:git diff --cached -- <stagedfile>
ObviousChild

1609

සරල ග්‍රැෆික් එකක් මෙය වඩාත් පැහැදිලි කරයි:

සරල Git වෙනස් වේ

git diff

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

git diff --cached

දර්ශකය සහ HEAD අතර ඇති වෙනස්කම් පෙන්වයි (මෙය මෙම ශාඛාවේ අවසාන කැපවීමයි). දර්ශකයට එකතු කර ඇති සහ කැපවීමක් සඳහා වේදිකා ගත කර ඇති දේ මෙයින් පෙන්නුම් කෙරේ.

git diff HEAD

වැඩ කරන නාමාවලිය සහ HEAD අතර ඇති සියලුම වෙනස්කම් පෙන්වයි (දර්ශකයේ වෙනස්කම් ද ඇතුළුව). කැපවීම සඳහා වේදිකා ගත කර තිබුණත් නැතත්, අවසාන කැපවීමෙන් පසුව සිදු වූ සියළු වෙනස්කම් මෙයින් පෙන්නුම් කෙරේ.

එසේම :

365Git හි තව ටිකක් විස්තර ඇත .


8
මෙය බොළඳ ය, මම බිය වෙමි (සාමාන්‍යයෙන් ඕනෑම git පැහැදිලි කිරීමක දී මෙන්). ඔබට දේශීය වෙනස් කිරීම් ඇති නම් foo.cහා ඉටු නොකරන්නේ git add foo.cනම් foo.cවේ දර්ශකය තුළ නැත ; එය කැපවීම සඳහා වේදිකා ගත නොවේ. දර්ශකයට git diff foo.cවැඩ foo.cකිරීම සමඟ අශෝභන ලෙස සංසන්දනය කරන්නේ නම් , එය හිස් / නැති ගොනුවක් සහ එහි සමස්ත අන්තර්ගතය අතර යෝධ වෙනසක් පෙන්වීමට සිදුවේ foo.c. එබැවින් ඇත්ත වශයෙන්ම, දර්ශකයක් තුළ ගොනුවක් නොපවතින විට git diff, එම ගොනුව සඳහා, HEADපිටපත භාවිතා කිරීමෙන් පසුපසට වැටේ .
Kaz

9
Az කාස් තදින් කිවහොත්, දර්ශකය හිස් පෙත්තක් නොවේ . එය HEADවේදිකාගත කරන ලද වෙනස්කම් යෙදෙන අථත්‍ය පිටපතකි . Git වැඩ කරන්නේ වෙනස්කම් සුරැකීමෙන් මිස සම්පූර්ණ ලිපිගොනු සුරැකීමෙන් නොවන බව මතක තබා ගන්න. ඔබ ගොනුවක් වේදිකා ගත කරන විට, එය සිදු කර ඇති වෙනස්කම් ගබඩා කිරීම පමණි. ඔබ ඇඟවුම් කරන පරිදි දර්ශකය හිස් නම්, එය දර්ශකයේ වෙනස්කම් සුරැකෙන්නේ කෙසේදැයි නොදන්නා අතර, සම්පූර්ණ ගොනුව "අලුතින් එකතු කරන ලද" ලෙස සුරැකීමට සිදුවේ - එය වැරදිය.
ADTC

8
AzKaz දර්ශකයේ සහ HEADකැමැත්තෙහි foo.cගොනුවේ නොවෙනස්ව පවතින අනුවාදයක් ඇත (ඒවා භෞතික පිටපත් නොවේ, නමුත් ඔබට සහ මට තාර්කික පිටපත් පමණි. Git කිරීමට නම්, එම ගොනුවට සම්බන්ධ සෑම කැපවීමක්ම සඳහන් කරන එකම දත්ත ප්‍රවාහය පමණි. ). ඔබ එසේ කරන විට ඒ නිසා git diffමත සම්පූර්ණයෙන්ම unstaged foo.cඇත්තෙන්ම එය නැවත ඇද වැටී නැහැ HEADඒක ඇත්තටම (ලෙස ගොනුවේ හරියටම සමාන අනුවාදය අඩංගු වෙන්නේ වන දර්ශකය සමග වෙනස කරන්නේ HEADනැත). එබැවින් ග්‍රැෆික් නිවැරදි ය.
ADTC

2
හෙලෝ, මෙම සන්දර්භය තුළ " දර්ශකය " යන්නෙහි තේරුම දැන ගැනීමට මා කැමතිය ? ස්තූතියි!
ගබ් 是 好人

2
OmTomRussell git status -vසමානයි git diff --cached(ප්ලස් git statusඇත්තෙන්ම)
wisbucky

54

ඔබ දෘශ්‍ය පැත්තකින් බැලීමට කැමති නම්, විසරණය වන දෘශ්‍ය වෙනස මෙවලමට එය කළ හැකිය. සමහර වෙනස්කම් සිදු කර නොමැති නමුත් එය පැනල් තුනක් පෙන්වනු ඇත. ගැටුම්වලදී, කවුළු හතරක් පවා ඇත.

වේදිකාගත කරන ලද සහ වේදිකාගත නොකළ සංස්කරණ සමඟ විසරණය කිරීමේ තිර රුව

එය සමඟ ආයාචනා කරන්න

diffuse -m

ඔබගේ Git වැඩ කරන පිටපතෙහි.

ඔබ මගෙන් ඇසුවොත්, දශකයක් තිස්සේ මා දුටු හොඳම දෘශ්‍ය වෙනස. එසේම, එය Git සඳහා විශේෂිත නොවේ: එය SVN, මර්කුරියල්, බසාර්, ඇතුළු අනෙකුත් VCS රාශියක් සමඟ අන්තර් ක්‍රියා කරයි.

මෙයද බලන්න: වේදිකාගත කරන ලද සහ වැඩ කරන ගස දෙකම git වෙනසකින් පෙන්වන්න?


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

Diffuse.sourceforge.net වෙත කැඩුණු සබැඳිය, දැනට sourceforge.net/projects/diffuse භාවිතා කරන්න .
user1133275

1
brew install diffuseOS X මත ක්‍රියා කරයි. වේදිකාගත නොවූ සහ වේදිකාගත කළ වෙනස්කම් දෙකම පැනල් 3 ක් නොපෙන්වයි - ඔබ අදහස් කළේ තවම දර්ශකයේ නොමැති වෙනස්කම්ද?
බ්‍රෙන්ට් ෆවුස්ට්

ඔබ සතුව ඇත්තේ කුමන විසරණයද? ඔව් - ඔබ ගොනුවක් එකතු කර එය දේශීයව වෙනස් කරන්නේ නම්, එය කවුළු තුනක් පෙන්විය යුතුය.
krlmlr

ඔබ ද පිහිටුවීම් හැකි එතුළින් ඔබගේ සුපුරුදු ලෙස difftool හා භාවිතය බිල්ට් යාන්ත්රණයක් / මෙවලමක් / නොහොත් එය දියත් කිරීමට බව. මගේ පිළිතුර මෙතැනින් බලන්න: < stackoverflow.com/a/45684512/6501141 >
LightCC

50

වේදිකාගත කළ වෙනස්කම් git status -v පෙන්වන බව සලකන්න ! (ඔබ ඇත නිරත කිරීමට අවශ්ය අර්ථය - git add-. යම් වෙනස්කම් කිසිදු වෙනසක් නැත වෙනස සමග නිරත git status -v.
එය පටන් කරන්නේ Git 1.2.0, 2006 පෙබරවාරි මස )

එහි දිගු ස්වරූපයෙන් (පෙරනිමිය), git statusලේඛනගත නොකළ "වාචික" විකල්පයක් ඇති අතර එය ඇත්ත වශයෙන්ම HEAD සහ දර්ශකය අතර වෙනස පෙන්වයි.

එය වඩාත් සම්පූර්ණ වීමට ආසන්නයි : " වේදිකාගත කර ඇති හා වැඩ කරන ගස යන දෙකම git වෙනසකින් පෙන්වන්න? " (Git 2.3.4+, Q2 2015) බලන්න:

git status -v -v

අවසාන පේළිය විය යුත්තේgit diff HEAD
artur

2
ඇයි? පිළිතුරේ කාරණය වන්නේ git status -vvඑයට ඇතුළත් වන දේ ද ඇතුළත් කිරීමයි git diff HEAD.
VonC

ක්‍රියාත්මක නොවේ git version 1.8.3.1. එය පැරණි බව මම දනිමි, නමුත් හැකි නම්, මෙම ධජය හඳුන්වා දුන් විට සටහන් කරන්න.
onebree

2
bonebree 1.8.3.1 යනු 2013 ජුනි මාසයයි. නමුත් git status -vපැරණි ( github.com/git/git/commit/… , git 1.2.0, 2006 පෙබරවාරි!). එය අතර වෙනස පෙන්වයි බව සටහන දර්ශකය හා HEAD: ඔබ දර්ශකය කිසිවක් එකතු කර ඇත නම්, (කිසි git add), එසේ නම් git status -vකිසිම වෙනස පෙන්වීමට නැහැ. git status -v -v(Git 2.3.4, 2015 මාර්තු)
VonC

OnVonC ඒක මගේ වැරැද්ද ... මම කළා git diff -v.
onebree

25

ඔබට මෙම විධානය භාවිතා කළ හැකිය.

git diff --cached --name-only

මෙම --cachedවිකල්පය git diffමාර්ගයෙන් ගොනු, සහ වේදිකා ගැනීමට --name-onlyගොනු නම් පමණක් ලබා ගැනීමට විකල්පය මාධ්යයක්.


2
කරුණාකර වැඩි විස්තර සමඟ සංස්කරණය කරන්න. කේත-පමණක් සහ "මෙය උත්සාහ කරන්න" පිළිතුරු අධෛර්යමත් වේ, මන්ද ඒවායේ සෙවිය හැකි අන්තර්ගතයක් නොමැති අතර යමෙකු "මෙය උත්සාහ කළ යුත්තේ" මන්දැයි පැහැදිලි නොකරන්න.
abarisone

2
මට මෙය අවශ්‍ය වන්නේ මන්දැයි නිශ්චිතවම කිව නොහැක, --name-onlyවිකල්පය සමඟ මම නිතිපතා භාවිතා කළ හැකියgit status
සයිමන් ෆෝස්බර්ග්

16

1.7 අනුවාදයෙන් සහ පසුව එය විය යුත්තේ:

git diff --staged

15

වේදිකා ප්‍රදේශයට එදිරිව නිධිය (අවසාන කැපවීම) සංසන්දනය කිරීම සඳහා

 $git diff --staged

විධානය මඟින් ඔබගේ වේදිකාගත කළ ( $ git add fileName) වෙනස්කම් ඔබගේ අවසාන කැපවීම සමඟ සංසන්දනය කරයි . ඔබගේ ඊළඟ කැපවීම කරා යන වේදිකාගත කර ඇති දේ බැලීමට ඔබට අවශ්‍ය නම්, ඔබට git diff --staged භාවිතා කළ හැකිය. මෙම විධානය මඟින් ඔබගේ වේදිකාගත කළ වෙනස්කම් ඔබගේ අවසාන කැපවීම සමඟ සංසන්දනය කරයි.

වැඩ කිරීමට එදිරිව වේදිකා සංසන්දනය සඳහා

$ git diff 

විධානය ඔබගේ වැඩ කරන නාමාවලියෙහි ඇති දේ ඔබගේ වේදිකාගත ප්‍රදේශයේ ඇති දේ සමඟ සංසන්දනය කරයි. ඔබගේ අන්තිම කැපවීමෙන් පසුව සිදු කරන ලද සියලුම වෙනස්කම් git වෙනස විසින්ම නොපෙන්වන බව සැලකිල්ලට ගැනීම වැදගත්ය - තවමත් වේදිකාගත නොවූ වෙනස්කම් පමණි. ඔබ ඔබගේ සියලු වෙනස්කම් ( $ git add fileName) වේදිකා ගත කර ඇත්නම් , git diff මඟින් ඔබට ප්‍රතිදානයක් ලබා නොදේ.

එසේම, ඔබ ගොනුවක් ( $ git add fileName) වේදිකා ගත කර එය සංස්කරණය කරන්නේ නම්, ඔබට වේදිකාගත කර ඇති ගොනුවේ වෙනස්කම් සහ වේදිකාගත නොවූ වෙනස්කම් බැලීමට git diff භාවිතා කළ හැකිය.


"වැඩ කිරීමට එදිරිව නිධිය සංසන්දනාත්මක භාවිතය සඳහා $ git diff" . මට විශ්වාසයි git diffවැඩ කිරීම එදිරිව වේදිකාගත කිරීම අතර සැසඳීමක්. Stackoverflow.com/a/1587952
wisbucky

15

දෘශ්‍ය වෙනස මෙවලමක් භාවිතා කිරීම

පෙරනිමි පිළිතුර (විධාන රේඛාවේදී)

මෙහි ඇති ඉහළ පිළිතුරු නිවැරදිව පෙන්වන්නේ හැඹිලි / වේදිකාගත වෙනස්කම් දෙස බලන ආකාරයයි Index:

$ git diff --cached

හෝ $ git diff --stagedඅන්වර්ථයකි.


ඒ වෙනුවට දෘශ්‍ය වෙනස මෙවලම දියත් කිරීම

පෙරනිමි පිළිතුර මඟින් git bash හි (එනම් විධාන රේඛාවේ හෝ කොන්සෝලයෙහි) වෙනස වෙනස් වේ. වේදිකාගත කරන ලද ගොනු වෙනස්කම් දෘශ්‍ය නිරූපණයට කැමති අය සඳහා, විධාන රේඛාවේ පෙන්වීමට වඩා නරඹන සෑම ගොනුවක් සඳහාම දෘශ්‍ය වෙනස මෙවලමක් දියත් කරන ස්ක්‍රිප්ට් එකක් ඇත difftool.

$ git difftool --staged

මෙම ලෙස මෙම එකම කරන්නේ git diff --staged, එම වෙනස මෙවලමක් ක්රියාත්මක කර ඇත ඕනෑම අවස්ථාවක (එනම්, ගොනු වෙනස විසින් සැකසෙන සෑම අවස්ථාවකදීම) හැර, එය පෙරනිමි දෘශ්ය වෙනස මෙවලමක් (මගේ පරිසරය තුළ, මේ වන දියත් කරනු ඇත kdiff3 ).

මෙවලම දියත් කිරීමෙන් පසුව, ඔබේ දෘශ්‍ය වෙනස මෙවලම වැසෙන තුරු git diff ස්ක්‍රිප්ට් විරාමයක් ලබා දෙනු ඇත. එමනිසා, ඊළඟ ගොනුව බැලීමට ඔබට එක් එක් ගොනුව වැසීමට අවශ්‍ය වනු ඇත.


Git විධාන difftoolවෙනුවට ඔබට සැමවිටම භාවිතා කළ හැකියdiff

ඔබගේ සියලු දෘශ්‍ය වෙනස අවශ්‍යතා සඳහා, සියලු විකල්ප ඇතුළුව git difftoolඕනෑම git diffවිධානයක් වෙනුවට ක්‍රියා කරනු ඇත .

උදාහරණයක් ලෙස, එක් එක් ගොනුව සඳහා එය කරන්නේදැයි විමසීමෙන් තොරව දෘශ්‍ය වෙනස මෙවලම් දියත් කිරීම සඳහා, -yවිකල්පය එක් කරන්න (සාමාන්‍යයෙන් ඔබට මෙය අවශ්‍ය වනු ඇතැයි මම සිතමි !!):

$ git difftool -y --staged

මෙම අවස්ථාවේ දී එය දෘශ්‍ය වෙනස මෙවලමෙහි එක් එක් ගොනුව එකවර ඉහළට ඇද දමනු ඇත, මෙවලම වසා දැමීමෙන් පසු ඊළඟ ගොනුව ගෙන එනු ඇත.

හෝ මෙහි දක්වා ඇති විශේෂිත ගොනුවක වෙනස බැලීමට Index:

$ git difftool -y --staged <<relative path/filename>>

සියලුම විකල්ප සඳහා, man පිටුව බලන්න:

$ git difftool --help


දෘශ්‍ය Git මෙවලම සැකසීම

පෙරනිමිය හැර දෘශ්‍ය git මෙවලමක් භාවිතා කිරීමට, -t <tool>විකල්පය භාවිතා කරන්න :

$ git difftool -t <tool> <<other args>>

නැතහොත්, වෙනස් පෙරනිමි දෘශ්‍ය වෙනස මෙවලමක් භාවිතා කිරීම සඳහා git වින්‍යාසගත කරන්නේ කෙසේද යන්න සඳහා diftool man පිටුව බලන්න.


.gitconfigVscode සඳහා වෙනස / ඒකාබද්ධ කිරීමේ මෙවලමක් ලෙස උදාහරණ ඇතුළත් කරන්න

ඩිෆ්ටූල් එකක් සැකසීමේ කොටසක් වන්නේ .gitconfigගොනුව තිරය පිටුපස වෙනස් කරන git විධාන හරහා හෝ කෙලින්ම සංස්කරණය කිරීමයි.

යුනික්ස් හෝ සාමාන්‍යයෙන් වින්ඩෝස් .gitconfigවැනි ඔබගේ නිවාස නාමාවලියෙන් ඔබට සොයාගත හැකිය .~c:\users\<username>

නැතහොත්, .gitconfigඔබගේ පෙරනිමි Git සංස්කාරකයේ පරිශීලකයා විවෘත කළ හැකිය git config -e --global.

.gitconfigVS කේතය සඳහා මගේ ගෝලීය පරිශීලකයාගේ විවිධ මෙවලම් සහ ඒකාබද්ධ කිරීමේ මෙවලම ලෙස උදාහරණ ඇතුළත් වේ :

[diff]
    tool = vscode
    guitool = vscode
[merge]
    tool = vscode
    guitool = vscode
[mergetool]
    prompt = true
[difftool "vscode"]
    cmd = code --wait --diff \"$LOCAL\" \"$REMOTE\"
    path = c:/apps/vscode/code.exe
[mergetool "vscode"]
    cmd = code --wait \"$MERGED\"
    path = c:/apps/vscode/code.exe

8

ඔබේ අභිප්‍රාය වන්නේ දුරස්ථ රෙපෝ ශාඛාවක් තල්ලු කිරීම සහ කැපවීමේ වෙනස් කිරීමේ ලොගයක ඔබේ පළමු අවසර පත්‍රය අසම්පූර්ණ නම්, මේ ආකාරයට තල්ලු කිරීමට පෙර ඔබට බැඳීම් ප්‍රකාශය නිවැරදි කළ හැකිය.

දේශීයව

... වෙනස්කම් කිහිපයක් කරන්න ...

git diff # look at unstaged changes

git commit -am"partial description of changes"

... කැපවීමේදී සඳහන් නොකළ තවත් වෙනස්කම් සිහිපත් කරන්න ...

git diff origin / master # වේදිකා ගත නමුත් තල්ලු කළ වෙනස්කම් දෙස බලන්න

... වේදිකාගත කළ ප්‍රකාශය සංශෝධනය කරන්න ...

git commit --amend -m"i missed mentioning these changes ...."

git push

7

ඔබට අදියර වෙනස් කිරීම් සහිත ලිපිගොනු එකකට වඩා තිබේ නම්, එය භාවිතා කිරීම වඩාත් ප්‍රායෝගික විය හැකිය git add -i, ඉන්පසු තෝරාගෙන 6: diffඅවසානයේ ඔබ කැමති ගොනුව (ය) තෝරන්න .


6

පෙරනිමියෙන් git diff භාවිතා කරනුයේ git යාවත්කාලීන කරන ලද ගොනු ලැයිස්තුවට එකතු නොවන වෙනස්කම් පෙන්වීමට ය. එහෙත්, ඔබ එකතු කිරීම හෝ stagged වන වෙනස්කම් පෙන්වන්න ඕන නම් ඔබ stagged හෝ එකතු ගොනු ගැන සැලකිලිමත් වන බව GIT දැනුම ඉඩ ඇත බව අතිරේක විකල්පයන් ලබා ගැනීමට අවශ්ය වෙනස .

$ git diff          # Default Use
$ git diff --cached # Can be used to show difference after adding the files 
$ git diff --staged # Same as 'git diff --cached' mostly used with latest version of git 

උදාහරණයක්

$ git diff 
diff --git a/x/y/z.js  b/x/y/z.js index 98fc22b..0359d84 100644
--- a/x/y/z.js 
+++ b/x/y/z.js @@ -43,7 +43,7 @@ var a = function (tooltip) {

-        if (a)
+        if (typeof a !== 'undefined')
             res = 1;
         else
             res = 2;

$ git add x/y/z.js
$ git diff
$

ඔබ ලිපිගොනු එකතු කළ පසු, ඔබට 'git diff' හි පෙරනිමිය භාවිතා කළ නොහැක .ඔබට මේ ආකාරයට කළ යුතුය: -

$ git diff --cached
diff --git a/x/y/z.js  b/x/y/z.js index 98fc22b..0359d84 100644
    --- a/x/y/z.js 
    +++ b/x/y/z.js @@ -43,7 +43,7 @@ var a = function (tooltip) {

    -        if (a)
    +        if (typeof a !== 'undefined')
                 res = 1;
             else
                 res = 2;

2

git guiසහ git-colaදර්ශකය බැලීමට සහ හැසිරවීමට ඔබට ඉඩ සලසන චිත්‍රක උපයෝගිතා වේ. වේදිකාගත කරන ලද ලිපිගොනු සඳහා සරල git-colaදෘශ්‍ය වෙනස දෙකටම ඇතුළත් වන අතර වඩාත් නවීන පැත්තෙන් දෘශ්‍ය වෙනස මෙවලමක් දියත් කළ හැකිය.

මගේ සමීප සම්බන්ධිත පිළිතුර බලන්න git හි දර්ශකයෙන් ගොනුවක් ඉවත් කරන්නේ කෙසේද? , සහ Git - GUI සේවාදායකයින්ගේ මෙම නිල නාමාවලිය .


0

gitkමෙවලම ගැනද සිතන්න , එය git වලින් සපයා ඇති අතර වෙනස්කම් බැලීමට ඉතා ප්‍රයෝජනවත් වේ


0

මෙම --cachedදේවානුභාවයෙන්, මා වෙනුවෙන් වැඩ කලේ නැහැ ... කොහේgit log

git diff origin/<branch>..<branch> කළා.

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.