නොකැඩූ Git කොමිස් බැලීම


1760

දුරස්ථ ගබඩාවට තවම තල්ලු කර නැති, මා විසින් කරන ලද ඕනෑම දේශීය කොමිස් බැලීමට මට හැක්කේ කෙසේද? ඉඳහිට, git statusමගේ ශාඛාව X ඉදිරියෙන් සිටින බව මුද්‍රණය කරනු ඇත origin/master, නමුත් සෑම විටම නොවේ.

මෙය මගේ Git ස්ථාපනය සමඟ ඇති දෝෂයක්ද, නැතිනම් මට යමක් මග හැරී තිබේද?


18
Git 2.5+ (Q2 2015) සමඟ ආරම්භ කර සත්‍ය පිළිතුර වනු ඇත git log @{push}... පහත දැක්වෙන මගේ පිළිතුරේ නව කෙටිමඟ @{push}(ඔබ තල්ලු කරන දුරස්ථ ලුහුබැඳීමේ ශාඛාව යොමු කිරීම) බලන්න
VonC

59
Ore ටොරෙක් - තවත් සරල කාර්යයක් Git විසින් දුෂ්කර කර ඇත. Git ප්‍රශ්නයක් සිය ගණනක් හෝ දහස් ගණනක් උඩු යටිකුරු කිරීම් සහ මිලියන ගණනක් අදහස් පෙන්වන සෑම අවස්ථාවකම යමෙකු සිතිය යුතුය: ඇවැත්නි, අපි ඇත්ත වශයෙන්ම එම කාර්ය ප්‍රවාහය ඉස්කුරුප්පු කළෙමු. අහෝ, Git dev ගේ සංවර්ධන ජීවන චක්‍රයේ ප්‍රතිපෝෂණ පියවර මඟ හැරී ඇත, එබැවින් ප්‍රතිපෝෂණය ඇතුළත් නොවේ. ඒ වෙනුවට, ඔවුන් එකම වැරදි නැවත නැවතත් කරති. මෙම ප්‍රශ්නය සඳහා, git status --all2010 දී පෙනී සිටිය යුතුය; හෝ git status -vඇත්ත වශයෙන්ම අතිරේක තොරතුරු ඇතුළත් වාචික ප්‍රතිදානය සැපයිය යුතුය.
jww

4
"Git status -v" මෙම තොරතුරු සැපයිය යුත්තේ මා වැඩ කරන ගස පිළිබඳ තත්වය ලබා දීමට අදහස් කරන නිසා, එය පරීක්ෂා කරන ලද ශාඛාවට පමණක් සම්බන්ධ වන බැවිනි. කෙසේ වෙතත්, පිළිගත් පිළිතුර විය යුතු යැයි මා විශ්වාස කරන "git branch -v" පිළිබඳ පිළිතුර පහත බලන්න
JoelFan

13
මෙම විශේෂිත StackOverflow ප්‍රශ්නයට වැඩිම නිවැරදි පිළිතුරු සංඛ්‍යාවක් ඇත.
පීට් ඇල්වින්

@ josh-buhler කණගාටුයි, මම අහම්බෙන් ඡන්දය ප්‍රකාශ කළෙමි ... මම 'STAR' ක්ලික් කිරීමට උත්සාහ කරන අතරතුර. නැවත ඡන්දය ප්‍රකාශ කිරීමට උත්සාහ කළ නමුත් එය සාර්ථක වූයේ නැත!
රෆි අල්හම්ඩ්

Answers:


1837
git log origin/master..HEAD

එකම සින්ටැක්ස් භාවිතයෙන් ඔබට වෙනස බැලීමට හැකිය

git diff origin/master..HEAD

3
මෙය මා වෙනුවෙන් කළා - කිසියම් හේතුවක් නිසා git log සම්භවය .. එයම දෝෂයක් විසි කරමින් සිටියේය. මගේ ප්‍රාදේශීය ශාඛාව වින්‍යාසගත කර ඇති ආකාරය පිළිබඳව ද මට ගැටලුවක් ඇති බව පෙනේ - වරක් මා මෙහි සොයාගත් වෙනස්කම් සිදු කළ පසු: wincent.com/blog/…… ගැටලුව විසඳන ලද අතර මට අවශ්‍ය දේ බැලීමට මට නැවත git තත්ත්වය භාවිතා කළ හැකිය. .
ජොෂ් බුලර්

6
මිල කළ නොහැකි: මා git config --global alias.ahead "log origin/master..HEAD --oneline"කොතරම් දැයි කිවහොත් මා සිටින තැන ඉක්මනින් සොයා ගැනීමට හැකි විය. ඊටත් වඩා කැන්ඩි:for i in *; do echo $i && git ahead 2>/dev/null; done
ජේමි

15
git log --stat origin/master..HEADටිකක් වැඩිපුර පුදුමාකාර බවක් සඳහා
කෝරි ඩැනියෙල්සන්

141
මෙය හොඳම විසඳුම නොවේ. සම්භවය / ස්වාමියා සෑම විටම උඩුමහලේ ශාඛාව නොවිය හැක. වඩා හොඳ විසඳුමක් වන්නේ උඩු මහලේ ශාඛාව දැක්වීමට "සම්භවය / ස්වාමියා" වෙනුවට @ {u use භාවිතා කිරීමයි. HEAD පෙරනිමියෙන් ගම්‍ය වන හෙයින් කෙනෙකුට එය ද අත්හැරිය හැකිය. En බෙන් ලින්ග්ගේ පිළිතුර බලන්න. පිටතට යන වෙනස්කම්: git log @ {u} .. එන වෙනස්කම්: git log .. @ {u}
PlagueHammer

12
Oct නොක්ටර්න් මට පෙන්වා දීමට අවශ්‍ය වන්නේ මෙම පිළිතුර පළ කරන විට @{u}සින්ටැක්ස් තවමත් ලබා ගත නොහැකි වූ අතර එය ලබා ගත හැකි වූයේ 2010 පෙබරවාරි 12 වන දින පමණි . එසේම, @{u}ශාඛා ක උඩුගං සමඟ මානකරන නැති නම් ක්රියා නොකරනු ඇත. අවසාන වශයෙන්, @{u}දැනට ටැබ් සම්පුර්ණ කිරීමේ සහය නොමැත, <remote>/<branch>ටැබ් සම්පුර්ණ කිරීම මෙම තොරතුරු ලබා ගැනීම සඳහා වේගවත්ම ක්‍රමයක් වන අතර, එය උඩුගං බලා වින්‍යාස කර තිබේද නැද්ද යන්න ක්‍රියා කරයි.

710

තවම තල්ලු කර නොමැති සියලුම ශාඛා වල සියලු කොමිස් දැකීමට ඔබට අවශ්‍ය නම්, ඔබ මේ වගේ දෙයක් සොයනු ඇත:

git log --branches --not --remotes

ඔබට අවශ්‍ය වන්නේ එක් එක් ශාඛාවේ නවතම කැපවීම සහ ශාඛා නම් පමණක් දැකීමට නම්:

git log --branches --not --remotes --simplify-by-decoration --decorate --oneline

8
මේක නම් නියමයි. ආශ්‍රිත වාතාවරණයක, මට ඉහළ ශාඛා දෙකක් සහිත දේශීය ශාඛා දෙකක් තිබූ අතර, එක් දේශීය අතක් අනෙක් අතේ ඒකාබද්ධ විය. නැවත ලබා ගැනීම සඳහා කුමන කොමිස් ආරක්ෂිතදැයි දැන ගැනීමට මට අවශ්‍ය විය, නමුත් git log master..HEADඋඩුගං බලා බහුවිධ ප්‍රමාණයක් ඇති බැවින් සාමාන්‍යය ක්‍රියා නොකරයි. මෙම පෝස්ට් git log MyBranch --not --remotesඑක එක ශාඛාවක් තුළ කිසිදු උඩු මහලකට තල්ලු නොකළ සියලු කොමිස් පෙන්වීමට මට මඟ පෑදීය .
පවන්

මෙය කොතරම් ප්‍රයෝජනවත්ද යත් මම එය මගේ zsh වින්‍යාසය තුළ අන්වර්ථ කළෙමි. ස්තූතියි.
ස්කොටි සී

ඔබගේ දෙවන විධානය තවම තල්ලු කර නොමැති කොමිස් ලැයිස්තුගත කර ඇති බව මට වැටහේ, එය පෙන්වන්නේ එක් ශාඛාවකට එකක් පමණි.
ස්ටෙෆාන්

--decorateඅතු ද පෙන්වයි. --graphඑය වඩාත් පැහැදිලි කරයි.
රේ

මෙම විධාන ලැයිස්තුව කිසිදු ශාඛාවකට තල්ලු නොකළ කොමිස් පමණක් බව සලකන්න . උදාහරණය: ශාඛා අංග-නිව්ටිං සමඟ ඔබට ශාඛා සංවර්ධනය ඇති බව පවසන්න. ඔබ දේශීයව වෙනස්කම්-නිව්ටිං වෙත වෙනස්කම් කරයි. (ලොග් හි වෙනස්කම් ඇත.) ඉන්පසු ඔබ එය නව දුරස්ථ ශාඛාවට තල්ලු කරයි. (ලොග් හිස් ය). දේශීයව සංවර්ධනය කිරීම සඳහා ඔබ දේශීය අංග-නව දේ ඒකාබද්ධ කරයි. වේගයෙන් ඉදිරියට යන බව උපකල්පනය කරමින්, ලොගයේ තවමත් කිසිදු වෙනසක් නොමැත.
පැට්‍රික් ඩබ්ලිව්

325

ඔබට දේශීයව ඇති නමුත් උඩු යටිකුරු නොවූ සියලුම කොමිස් ඔබට පෙන්විය හැකිය

git log @{u}..

@{u}හෝ @{upstream}වර්තමාන ශාඛාවේ උඩුමහලේ ශාඛාව අදහස් කරයි (බලන්න git rev-parse --helpහෝ git help revisionsවිස්තර සඳහා).


17
වින්ඩෝස් හි, මට අවසාන තර්කය උපුටා දැක්වීම්වල ඇතුළත් කිරීමට අවශ්‍ය විය, වැනි: git log "@ {u} .."
ජෝන් ෂ්නයිඩර්

git log @{u}.. -p වඩාත්ම ප්‍රයෝජනවත් විකල්පයන්ගෙන් එකක් වන්නේ -p , එය එක් එක් තහවුරු කිරීමේදී හඳුන්වා දී ඇති වෙනස්කම් පෙන්වයි.
mQuiroz

වඩා හොඳ git log @ {push} .., තවත් පිළිතුරක් බලන්න .
හාන්ස්-පීටර් ස්ටෝර්

185

මෙය මට ප්‍රයෝජනවත් විය:

git cherry -v 

Git හි දක්වා ඇති පරිදි : වෙනත් ශාඛාවක නොමැති සියලු නොකල කොමිස් හෝ කොමිස් බලන්න .


21
සියලු ලිපිගොනු වල කියවීමට අපහසු, වාචික වෙනස වෙනුවට වඩාත් සංක්ෂිප්ත ලැයිස්තුවක් මෙමඟින් ලබා දෙන බැවින් මෙය ප්‍රධාන පිළිතුර විය යුතු යැයි මම සිතමි !!
ViFI

1
git-cherry - "උඩුමහලට තවම යෙදිය යුතු කොමිස් සොයා ගන්න", OP ඉල්ලා සිටි දේ සපයන බවක් පෙනේ, නමුත් සමස්ත කැපවීමේ පණිවිඩයට වඩා කැපවීමේ විෂයයක් පමණි.
ඊඩෝ 95

2
මෙය ඔබට කියනු ඇත්තේ ඔබ දැනට පරීක්ෂා කර ඇති ශාඛාවේ නොකැඩූ කොමිස් තිබේ නම් පමණි. ඔබ විසින් දේශීය ශාඛාවක් (දැනට පරීක්ෂා කර නොමැති) නොකැඩූ කොමිස් තිබේදැයි එය ඔබට නොකියයි.
ඩේව් යාර්වුඩ්

66

ඔබට මෙය කළ හැක්කේ git log:

git log origin..

originඑය ඔබගේ උඩුමහලේ නම යැයි උපකල්පනය කරමින් , කිසියම් සංශෝධන නමක් ..ඇඟවීමෙන් පසු අතහැර දමයි HEAD, එමඟින් තල්ලු නොකළ නව කොමිස් ලැයිස්තුගත කරයි.


1
git logසහ "2-තිත්-නො -3" සමඟ පිළිතුරක් දකින සෑම විටම, එය මට සැමවිටම මතක් කරන්නේ stackoverflow.com/questions/53569/… ;)
VonC

1
එය පිළිතුරට එක් කිරීම සඳහා - උඩුමහලේ සැකසුමක් නොමැති නම් මෙම විධානයේ ප්‍රති result ලය වන්නේ උඩුගං බලා සිටීමක් නොමැති බවයි. git branch --set-upstream master origin/<branch>වේදිකාගත කර ඇති කොමිස් බැලීමට මෙම විධානය භාවිතා කිරීමට ඔබ කැමති නම් උඩුගං බලා පිහිටුවීමට ධාවනය කරන්න .
අසින්ක්වයිට්

මෙය වර්තමාන දුරස්ථ ශාඛාව නොව සම්භවය ඇති පෙරනිමි ශාඛාව සමඟ සැසඳෙනු ඇත.
ග්‍රීස්

43

අනෙක් සියලුම පිළිතුරු "උඩුගං බලා" (ඔබ ඇද ගන්නා ශාඛාව) ගැන කතා කරයි.
නමුත් දේශීය ශාඛා හැකි තල්ලු කිරීමට විවිධ එය අදින ජල එක් වඩා ශාඛා.

masterදුරස්ථ ෙසොයා ගැනීෙම් ශාඛාවට තල්ලු නොවිය හැක origin/master.
මෙම ඉහළින් උමාඔයේ සඳහා ශාඛා masterවිය හැකි origin/master, නමුත් එය දුරස්ථ ෙසොයා ගැනීෙම් ශාඛාවේ තල්ලු විය හැකි origin/xxxහෝ anotherUpstreamRepo/yyy.
ඒවා branch.*.pushremoteවර්තමාන ශාඛාව සඳහා global remote.pushDefaultවටිනාකම සමඟ සකසා ඇත .

එය බව පීලි බව එක්: unpushed අනාචාරයේ උත්සාහ කරන චෝදනා විට දුරස්ථ සොයා ශාඛා branch at the remoteකොහෙද ශාඛා වෙත තල්ලු කරනු ඇත.
මෙම branch at the remoteනැවත, විය හැක, origin/xxxපවා anotherUpstreamRepo/yyy.

Git 2.5+ (Q2 2015) ඒ සඳහා නව කෙටිමඟක් හඳුන්වා දෙයි: <branch>@{push}

බලන්න 29bc885 සිදු , 3dbe9db සිදු , adfe5d0 සිදු , 48c5847 සිදු , a1ad0eb සිදු , e291c75 සිදු , 979cb24 සිදු , 1ca41a1 සිදු , 3a429d0 සිදු , a9f9f8c සිදු , 8770e6f සිදු , da66b27 සිදු , f052154 සිදු , 9e3751d සිදු , ee2499f සිදු මැයි 21 සිට සියලු [ 2015], සහ කැපවීම e41bf35 [2015 මැයි 01] ජෙෆ් කිං ( peff) විසිනි.
( ජූනියෝ සී හමානෝ විසින් ඒකාබද්ධ කරන ලදි - gitster-in commit c4a8354 , 2015 ජුනි 05)

Adfe5d0 පැහැදිලි කරන්න:

sha1_name: @{push}කෙටිමං ක්‍රියාත්මක කරන්න

ත්රිකෝණාකාර වැඩ ප්රවාහයක දී, සෑම ශාඛාවකටම විශේෂ කරුණු දෙකක් තිබිය හැකිය: @{upstream}ඔබ සාමාන්යයෙන් ඇද ගන්නා ස්ථානය සහ ඔබ සාමාන්යයෙන් තල්ලු කරන ගමනාන්තය. දෙවැන්න සඳහා කෙටි යෙදුමක් නොමැත, නමුත් එය තිබීම ප්‍රයෝජනවත් වේ.

නිදසුනක් ලෙස, ඔබ තවම තල්ලු කර නොමැති කුමන ක්‍රියාකාරකම්දැයි දැන ගැනීමට ඔබට අවශ්‍ය විය හැකිය :

git log @{push}..

නැතහොත් වඩාත් සංකීර්ණ නිදසුනක් ලෙස, ඔබ සාමාන්‍යයෙන් origin/master(ඔබ ඔබේ ලෙස සකසා ඇති @{upstream}) සිට වෙනස්කම් ඇද ගන්නා බව සිතන්න , සහ වෙනස්කම් ඔබේ පෞද්ගලික දෙබලකට තල්ලු කරන්න (උදා: ලෙස myfork/topic).
ඔබට බහු යන්ත්‍රවලින් ඔබේ දෙබල වෙත තල්ලු විය හැකිය , උඩු ගංඟාවට වඩා තල්ලු ගමනාන්තයේ වෙනස්කම් ඒකාබද්ධ කිරීමට ඔබට අවශ්‍ය වේ.
මෙම පැච් සමඟ, ඔබට කළ හැක්කේ:

git rebase @{push}

සම්පූර්ණ නම ටයිප් කරනවා වෙනුවට.

කැපවීම 29bc885 එකතු කරයි:

for-each-ref: " %(push)" ආකෘතිය පිළිගන්න

එක් එක් ref සඳහා %(upstream)" @{upstream}" වාර්තා කිරීමට අපට " " ඇති සේම , මෙම පැච් එක ගැලපීමට " %(push)" එකතු කරයි @{push}.
එය උඩුමහලේ ඇති එකම ලුහුබැඳීමේ ආකෘති විකරණකාරක සඳහා සහය දක්වයි ( ඔබට දැන ගැනීමට අවශ්‍ය නිසා, උදාහරණයක් ලෙස, කුමන ශාඛා තල්ලු කිරීමට බැඳී සිටීද ).

ඔබ තල්ලු කරන ශාඛාව හා සසඳන විට ඔබේ ප්‍රාදේශීය ශාඛා කොපමණ ප්‍රමාණයක් ඉදිරියෙන් / පිටුපසින් සිටිනවාදැයි බැලීමට ඔබට අවශ්‍ය නම් :

git for-each-ref --format="%(refname:short) %(push:track)" refs/heads

42

වත්මන් ශාඛාවේ නොකැඩූ කොමිස් සෙවීම සඳහා හැන්ඩි ජිට් අන්වර්ථය :

alias unpushed = !GIT_CURRENT_BRANCH=$(git name-rev --name-only HEAD) && git log origin/$GIT_CURRENT_BRANCH..$GIT_CURRENT_BRANCH --oneline

මෙය මූලික වශයෙන් කරන්නේ කුමක්ද:

git log origin/branch..branch

වත්මන් ශාඛා නාමය ද තීරණය කරයි.


8
මේක නම් නියමයි! අන්වර්ථයන් ගැන නුහුරු අය සඳහා ඒවා [අන්වර්ථය] කොටස යටතේ ඔබගේ ~ / .gitconfig ගොනුවට එක් කරන්න.
ගැරී හරන්


@ ගැරීහාරන් පෙන්වා දෙන පරිදි මෙය අන්වර්ථ නාමයක් නොවේ. අන්වර්ථයන් එකතු කිරීම සඳහා git විධානයක් ද ඇත: git alias <alias-name> <command>මෙම අවස්ථාවේ දී, විධානය තනි උපුටා දැක්වීම් වලින් වට කළ යුතුය, කවචයෙන් විශේෂ අක්ෂර වලින් ගැලවීමට.
ඩැග් හයිඩාල්

4
එය එසේ වනු ඇත:git config --global alias.unpushed '!GIT_CURRENT_BRANCH=$(git name-rev --name-only HEAD) && git log origin/$GIT_CURRENT_BRANCH..$GIT_CURRENT_BRANCH --oneline'
රිකී ලෙවි

එය මූලික වශයෙන් git log @ {u} ට සමාන බව පෙනේ, නමුත් - වෙනත් පිළිතුරක් බලන්න .
හාන්ස්-පීටර් ස්ටෝර්

35

ඔබට උත්සාහ කළ හැකිය ....

gitk

එය පිරිසිදු විධාන රේඛා විකල්පයක් නොවන බව මම දනිමි, නමුත් ඔබ එය ස්ථාපනය කර GUI පද්ධතියක සිටී නම් එය ඔබ සොයන දේ හරියටම බැලීමට හොඳ ක්‍රමයක් වන අතර තවත් බොහෝ දේ ඇත.

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


3
gitk --allසියලුම ශාඛා බැලීමට.
රේ

3
tigncurses විකල්පයයි.
රේ

@ ජස්ටින්-ඕම්ස් gitkනියමයි! මෙය පවතින බව කිසි විටෙකත් දැන සිටියේ නැත! ලස්සන UI හි වෙනස්කම් හරහා සැරිසැරීමට පහසුය.
රෆි අල්හැම්ඩ්

terray tigවඩාත් ප්‍රයෝජනවත් වන්නේ 'පර්යන්තයට පමණයි' - ඔබට ඩෙස්ක්ටොප් GUI වෙත ප්‍රවේශය නොලැබෙන අවස්ථාවක ය. පළමු වරට ඒ ගැන ඉගෙන ගැනීම! උනන්දුව: tigපුනරාවර්තනය වේ git!
රෆි අල්හැම්ඩ්

33

මා මීට පෙර කැපවීමක් කර ඇති අතර, කිසිදු ශාඛාවකට තල්ලු කර නැත, දුරස්ථ හෝ දේශීය නොවේ. කැපවීම පමණි. වෙනත් පිළිතුරු වලින් කිසිවක් මට වැඩ කළේ නැත, නමුත් සමඟ:

git reflog

එහිදී මට මගේ කැපවීම හමු විය.


මෙම සබැඳියේ සඳහන් කර ඇති පරිදි git-scm.com/docs/git-reflog , යොමු සටහන්, හෝ “reflogs”, ප්‍රාදේශීය ගබඩාවේ ශාඛා සහ වෙනත් යොමු කිරීම් යාවත්කාලීන කළ විට වාර්තා කරන්න. මගේ නඩුවේදී, මම රෙපෝවක් ක්ලෝන කර, නව ශාඛාවක් නිර්මාණය කළෙමි, ශාඛාව මකා දැමුවෙමි, නව එකක් නිර්මාණය කළෙමි, බැඳීමක් ඇති කළෙමි. HEAD @ {0 as ලෙස නැවත යථා තත්ත්වයට පත් වූ මෙම සියලු පියවර: කැපවීම (සංශෝධනය කිරීම): .. HEAD @ {1}: commit: ... HEAD @ {2}: checkout: සිට ... දක්වා ... HEAD @ { 3}: චෙක්පත්වීම: සිට ... දක්වා ... හෙඩ් @ {4}: ක්ලෝන: සිට # සමාවන්න SO ආකෘතිය සඳහා බහුකාර්යයන්ට අදහස් දැක්වීමට ඉඩ නොදේ
ප්‍රවේගය

මෙයට මූලාරම්භය ද ඇතුළත් වේ, හොඳම විසඳුම වනුයේ la ප්ලේග්හැමර් ( stackoverflow.com/a/2016954/624048 ) විසින් සපයන ලද විධානයයි
ලින්කන්

29

git branch -v සෑම ප්‍රාදේශීය ශාඛාවක් සඳහාම එය “ඉදිරියෙන්” තිබේද නැද්ද යන්න පෙන්වනු ඇත.


2
ඔව්, ශාඛාව මත නොකැඩූ බැඳීමක් තිබේ නම් devel, අනුරූප රේඛාව වනු ඇත * devel 8a12fc0 [ahead 1] commit msg( *පරීක්ෂා කරන ලද ශාඛාවට අනුරූප රේඛාව මත පමණක් වනු ඇත). ahead 1එහි අර්ථය “එක් කැපවීමකින් ඉදිරියෙන්”, එනම් නොකැඩූ කැපවීමක් ඇත.
ඕරලියන්

2
එසේ නොවේ ද git branch -vv? සී. docs: “දෙවරක් ලබා දෙන්නේ නම්, උඩු මහලේ ශාඛාවේ නමද මුද්‍රණය කරන්න (git දුරස්ථ සංදර්ශනය <remote> ද බලන්න).”
ඩර්ටි හෙන්රි

මෙය උඩු මහලේ ශාඛාවේ නම මුද්‍රණය කිරීම ගැන නොව, මුද්‍රණය කිරීම behindසහ / හෝ aheadඑක් එක් ප්‍රාදේශීය ශාඛාව සඳහා වන අතර, එය OP හි ගැටළුව විසඳීමට ප්‍රමාණවත් වේ (නොකල කොමිස් හඳුනා ගැනීම). git branch -vඒ සඳහා ප්‍රමාණවත්, Git 2.16.2 සමඟ නැවත පරීක්ෂා කරන්න :)
Aurelien

-Vv ප්‍රයෝජනවත් වන්නේ එය සමඟ දුරස්ථව යාවත්කාලීනව ඇති ශාඛා සහ කිසිසේත් තල්ලු නොකළ ශාඛා අතර වෙනසක් පෙන්වන බැවිනි. (එක් -v සමඟ, ඒවා එක හා සමානව දර්ශනය වේ.)
ආර්.එම්.

20

සිදු කර ඇති නමුත් තල්ලු කර නැති (වත්මන් ශාඛාව සඳහා) ගොනු ලැයිස්තුවක් (සහ තත්වය) ලබා ගැනීමට මම පහත අන්වර්ථය භාවිතා කරමි.

git config --global alias.unpushed \
"diff origin/$(git name-rev --name-only HEAD)..HEAD --name-status"

ඉන්පසු කරන්න:

git unpushed

සිත්ගන්නාසුලු බව පෙනේ, නමුත් case (git name-rev --name-only HEAD) මගේ නඩුවේ "නිර්වචනය කර නැත"
vak

13

මෙය සිදු කිරීමේ වඩාත් සාමාන්‍ය ක්‍රමය වන්නේ මෙවැනි දෙයක් ධාවනය කිරීමයි:

git cherry --abbrev=7 -v @{upstream}

කෙසේ වෙතත්, මම පෞද්ගලිකව ධාවනය කිරීමට කැමැත්තෙමි:

git log --graph --decorate --pretty=oneline --abbrev-commit --all @{upstream}^..

එමඟින් උඩු මහලේ ඒකාබද්ධ නොවූ සියලුම ශාඛා වලින් ලැබෙන කොමිස් සහ උඩුමහලේ ඇති අවසාන කැපවීම (අනෙක් සියලුම කොමිස් සඳහා මූල නෝඩයක් ලෙස පෙන්වයි). මම එය බොහෝ විට භාවිතා කරමි, ඒ සඳහා මම අන්වර්ථයක් නිර්මාණය කර ඇත්තෙමි noup.

git config --global alias.noup \
'log --graph --decorate --pretty=oneline --abbrev-commit --all @{upstream}^..'

11

ස්ක්‍රිප්ට් එක බලන්න යන්නැයි මම ඔබට යෝජනා කරමි https://github.com/badele/gitcheck , මම මෙම ස්ක්‍රිප්ට් එක ඔබගේ සියලුම ගබඩාවල එක් වරකට පරීක්ෂා කර බැලීමට කේත කර ඇති අතර, එයින් පෙන්නුම් කරන්නේ කවුරුන් විසින් සිදු නොකළද සහ තල්ලු නොකළ / ඇද නොගත් අයයි.

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


1
වින්ඩෝස් යන්ත්‍රයේ වැඩ කිරීමට මෙම ප්ලගිනය ලබා ගන්නේ කෙසේදැයි කරුණාකර ඔබට පැහැදිලි කළ හැකිද? මම පයිප්ප ධාවනය කිරීමට උත්සාහ කරමි, නමුත් විධානය විධාන රේඛාවේ නොමැත. මම පයිතන් ස්ථාපනය කර ඇත, නමුත් එය ප්‍රමාණවත් දැයි මට විශ්වාස නැත.
කොන්රාඩ් සාස්විස්කි

On KonradSzałwiński මා සතුව වින්ඩෝස් යන්ත්‍රයක් නොමැත, නමුත් මෙම මාතෘකාව තුළ ( stackoverflow.com/questions/4750806/… ), පරිශීලකයා ඔබේ ප්‍රශ්නයට පිළිතුරු සපයයි :). නමුත් මම ජනේල වලින් පරීක්‍ෂා කර නැති අතර එය ක්‍රියාත්මක වන බව මට විශ්වාස නැත.
බ un නෝ ඇඩෙල්

On කොන්රාඩ්ස්සායිවිස්කි ක්‍රිස්ටියන් ට්‍රෙම්බ්ලේ ගිතුබ් දායකයා කවුළු ආධාරකයක් එක් කර ඇත. දැන් ජනේල වල වැඩ කරන්න. ඔබට එය github.com/badele/gitcheck වෙතින්
බ un නෝ ඇඩෙල්

දැන්, ඔබට ඩොකර් බහාලුමකින් කෙලින්ම gitcheck භාවිතා කළ හැකිය (ඔබේ ධාරකයේ ඇති ලිපිගොනු සමඟ) වැඩි විස්තර සඳහා gitcheck github ව්‍යාපෘතිය බලන්න
බ un නෝ ඇඩෙල්

මෙය පළ කිරීම ගැන ස්තූතියි, එය ඇත්තෙන්ම ප්‍රයෝජනවත් බව පෙනේ. මම ස්ථාපනය කිරීමට උත්සාහ කළ නමුත් ස්ථාපනය කිරීමෙන් පසුව එය ක්‍රියාත්මක කිරීමට ස්ක්‍රිප්ටයේ ස්ථානය සොයාගත නොහැක. $ නල ස්ථාපනය git + git: //github.com/badele/gitcheck.git git + git එකතු කිරීම: //github.com/badele/gitcheck.git ක්ලෝනින් git: //github.com/badele/gitcheck.git සිට c : \ පරිශීලකයින් \ u6041501 \ appdata \ local \ temp \ pip-bxt472z_-build එකතු කරන ලද පැකේජ ස්ථාපනය කිරීම: gitcheck gitcheck සඳහා setup.py ස්ථාපනය ක්‍රියාත්මක කිරීම: ආරම්භ කිරීම gitcheck සඳහා setup.py ස්ථාපනය ක්‍රියාත්මක කිරීම: තත්වයෙන් අවසන් කර ඇත 'සාර්ථකයි' .22
ලෝරන් ෆිච්


9

එය දෝෂයක් නොවේ. ස්වයංක්‍රීයව ඒකාබද්ධ වීම අසාර්ථක වීමෙන් පසු දුරස්ථයේ වෙනස්කම් ලබා ගත හැකි නමුත් තවමත් ඒකාබද්ධ වී නොමැති විට ඔබ බොහෝ විට දකින්නේ git තත්ත්වයයි.

දේශීය repo සහ දුරස්ථ අතර ඇති බැඳීම් බැලීමට මෙය කරන්න:

git fetch

මෙය 100% ආරක්ෂිත වන අතර ඔබගේ වැඩ කරන පිටපත සමච්චලයට ලක් නොකරනු ඇත. වෙනස්කම් තිබේ නම් git statusපෙන්වනු X commits ahead of origin/masterඇත.

ඔබට දැන් දුරස්ථව ඇති නමුත් දේශීය නොවන කොමිස් ලොග් පෙන්විය හැකිය:

git log HEAD..origin

8

මෙය මට වඩා හොඳ විය:

git log --oneline @{upstream}..

හෝ:

git log --oneline origin/(remotebranch)..

3
වෙනත් ඕනෑම කෙනෙකුට පුදුම වීමට නම්, @{upstream}එය වචනානුසාරයෙන් ( upstreamමැජික් වචනයකි), remotebranchඔබේ ශාඛාවේ නම පමණි.
ස්ටීව් බෙනට්

7

නම් මෙවලමක් ඇත unpushed ucommited ගොනු හා unpushed අනාචාරයේ නිශ්චිත වැඩ නාමාවලිය සහ සංදර්ශන ලැයිස්තුවේ ඇති සියලු Git, චපල හා Subversion ප්රතිමිලදී පරීක්ෂණයට ලක්කරන බව. ලිනක්ස් යටතේ ස්ථාපනය සරලයි:

$ easy_install --user unpushed

හෝ

$ sudo easy_install unpushed

පද්ධතිය පුරා ස්ථාපනය කිරීමට.

භාවිතය ද සරල ය:

$ unpushed ~/workspace
* /home/nailgun/workspace/unpushed uncommitted (Git)
* /home/nailgun/workspace/unpushed:master unpushed (Git)
* /home/nailgun/workspace/python:new-syntax unpushed (Git)

බලන්න unpushed --helpහෝ නිල විස්තර වැඩිදුර තොරතුරු සඳහා. unpushed-notifyනොගැලපෙන සහ නොකල වෙනස්කම් පිළිබඳ තිරය මත දැනුම් දීම සඳහා එය ක්‍රොන්ජොබ් ස්ක්‍රිප්ට් එකක් ද ඇත .


5

සියලුම ශාඛා වල නොකැඩූ බැඳීම් ලැයිස්තුගත කිරීම සඳහා ඔබට මෙම විධානය භාවිතා කළ හැකිය:

 git log --branches  @{u}..

4

පිටතට තල්ලු නොකළ කොමිස් ගණන තනි ඉලක්කම් සංඛ්‍යාවක් නම්, එය බොහෝ විට, පහසුම ක්‍රමය නම්:

$ git checkout

git ප්‍රතිචාර දක්වන්නේ ඔබේ සම්භවයට සාපේක්ෂව ඔබ “ඉදිරියෙන් සිටින බව” කියමිනි. දැන් ලොග් බැලීමේදී එම අංකය මතකයේ තබා ගන්න. ඔබ "කොමිස් 3 කින් ඉදිරියෙන්" සිටී නම්, ඉතිහාසයේ ඉහළම කොමිස් 3 තවමත් පුද්ගලිකයි.


4

සමාන: නොකැඩූ ශාඛා බැලීමට:

git branch --all --no-merged

ඒවා සැක කළ හැකි නමුත් මම cxreg විසින් පිළිතුර නිර්දේශ කරමි



1

ඉහත සඳහන් කළ පරිදි:

git diff origin / master..HEAD

නමුත් ඔබ git gui භාවිතා කරන්නේ නම්

ගයි අතුරුමුහුණත විවෘත කිරීමෙන් පසු, "නිධිය" තෝරන්න -> ඒ යටතේ " ඉතිහාසය දෘශ්‍යකරණය කරන්න "

සටහන: සමහර අය CMD Prompt / Terminal භාවිතා කිරීමට කැමති අතර සමහරු Git GUI භාවිතා කිරීමට කැමතියි (සරල බව සඳහා)


git gui හි දෘශ්‍යකරණය කිරීමේ විකල්පය එකකි.
රාජේෂ් කොල්හාපූර්

-2

මෙන්න මගේ අතේ ගෙන යා හැකි විසඳුම (අමතර ස්ථාපනයකින් තොරව වින්ඩෝස් වලද ක්‍රියාත්මක වන ෂෙල් ස්ක්‍රිප්ට්), එය සියලු ශාඛා සඳහා මූලාරම්භයේ වෙනස්කම් පෙන්වයි: git-fetch-log

උදාහරණ ප්‍රතිදානය:

==== branch [behind 1]

> commit 652b883 (origin/branch)
| Author: BimbaLaszlo <bimbalaszlo@gmail.com>
| Date:   2016-03-10 09:11:11 +0100
|
|     Commit on remote
|
o commit 2304667 (branch)
  Author: BimbaLaszlo <bimbalaszlo@gmail.com>
  Date:   2015-08-28 13:21:13 +0200

      Commit on local

==== master [ahead 1]

< commit 280ccf8 (master)
| Author: BimbaLaszlo <bimbalaszlo@gmail.com>
| Date:   2016-03-25 21:42:55 +0100
|
|     Commit on local
|
o commit 2369465 (origin/master, origin/HEAD)
  Author: BimbaLaszlo <bimbalaszlo@gmail.com>
  Date:   2016-03-10 09:02:52 +0100

      Commit on remote

==== test [ahead 1, behind 1]

< commit 83a3161 (test)
| Author: BimbaLaszlo <bimbalaszlo@gmail.com>
| Date:   2016-03-25 22:50:00 +0100
|
|     Diverged from remote
|
| > commit 4aafec7 (origin/test)
|/  Author: BimbaLaszlo <bimbalaszlo@gmail.com>
|   Date:   2016-03-14 10:34:28 +0100
|
|       Pushed remote
|
o commit 0fccef3
  Author: BimbaLaszlo <bimbalaszlo@gmail.com>
  Date:   2015-09-03 10:33:39 +0200

      Last common commit

ලොග් සඳහා සම්මත කරන ලද පරාමිතීන්, උදා. --onelineහෝ --patchභාවිතා කළ හැකිය.


-3
git show

ඔබගේ දේශීය කොමිස්වල ඇති සියලුම වෙනස්කම් පෙන්වයි.

git show --name-only

දේශීය බැඳීම් හැඳුනුම්පත සහ බැඳීමේ නම පෙන්වනු ඇත.


3
git showඑය දුරස්ථභාවයට තල්ලු කර තිබුණත් නැතත්, එය ඔබගේ නවතම කැපවීම පමණක් පෙන්වයි.

-6
git diff origin

ඔබේ ශාඛාව ආරම්භය සොයා ගැනීම සඳහා සකසා ඇති බව උපකල්පනය කිරීමෙන් පසුව ඔබට වෙනස්කම් පෙන්වනු ඇත.

git log origin

කොමිස් වල සාරාංශයක් ඔබට ලබා දෙනු ඇත.


3
git log originදැනටමත් තල්ලු කර ඇති කොමිස් ඔබට පෙන්වනු ඇත , නමුත් එය තල්ලු නොකළ කොමිස් පෙන්වන්නේ නැත , එය මුල් පෝස්ටරය ඉල්ලා සිටි දෙයට වඩා වැඩිය.
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.