“Git commit” සහ “git push” අතර ඇති වෙනස්කම් මොනවාද?


908

git commitඔබ විසින් සිදු කරන ලද වෙනස්කම් ගබඩා කිරීම සඳහා මම භාවිතා කරන Git නිබන්ධනයක භාවිතා වේ.

දේ ඇත git pushඉන් සඳහා භාවිතා?


85
සංකල්පය තේරුම් ගැනීමට මට බොහෝ සෙයින් උපකාරී වූ "Git cheatsheet" ද ඔබට පරීක්ෂා කළ හැකිය: ndpsoftware.com/git-cheatsheet.html
adriendenat

මෙන්න තවත් වංචා පත්‍රයක්: atlassian.com/git/tutorials/atlassian-git-cheatsheet
Canyon

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

Answers:


1643

මූලික වශයෙන් git commit" නිධියෙහි වෙනස්කම් වාර්තා කරයි " සහ git push" සම්බන්ධිත වස්තූන් සමඟ දුරස්ථ යොමු යාවත්කාලීන කිරීම් " එබැවින් පළමු එක ඔබේ දේශීය ගබඩාවට සම්බන්ධව භාවිතා කරන අතර දෙවැන්න දුරස්ථ ගබඩාවක් සමඟ අන්තර් ක්‍රියා කිරීමට භාවිතා කරයි.

මෙන්න ඔලිවර් ස්ටීල්ගේ ලස්සන පින්තූරයක් , එය git ආකෘතිය සහ විධාන පැහැදිලි කරයි:

Git දත්ත ප්‍රවාහන විධාන

තව දුරටත් කියවන්න ගැන git pushසහ git pullමත GitReady.com (මෙම මම මුලින්ම සඳහන් ලිපිය)


20
මුල් මූලාශ්‍රය මෙන්න: osteele.com/archives/2008/05/my-git-workflow , git workflow හි තවත් පින්තූරයක් සමඟ
tanascius

10
එබෙන් ගිතුබ් යනු ඔබේ මහජනතාවට "වලාකුළ මත" සත්කාරකත්වය සැපයිය හැකි එක් විසඳුමකි git push. යථාර්ථය නම්, ගමනාන්තය git pushවිය හැකි ඕනෑම GIT ගබඩාව. එය වෙනත් ඩිරෙක්ටරියක ( git remote add clone ~/proj/clone.git; git push clone masterහෝ git push ~/proj/clone.git master, උදාහරණයක් ලෙස) ඔබේම දේශීය දෘ hard තැටියක හෝ ඔබේම සත්කාරක සේවය කරන git ගබඩාවක විය හැකිය.
සැන්ටා

2
ඉතින් ... ඔබට පළමුව තල්ලු කිරීමට හෝ පළමුව කැපවීමට අවශ්‍යද?
කොකොඩොකෝ

5
IetPiet එය ආරම්භ වන්නේ ඔබ වැඩ කරන ස්ථානයෙන් වන අතර එහිදී ඔබ ගොනු වෙනස් කරයි. ඉන්පසු ඔබ ඒවා දර්ශකයට එකතු කර දේශීය ගබඩාවට
බැඳ තබන්න

2
H හයිඩ් මහතා එය කළ නොහැකි ය. බෙදා හරින ලද අනුවාද පාලනයක් ලෙස Git ඔබට දේශීය පිටපතක් අවශ්‍ය වේ.
tanascius

216

කැපවීම : දේශීය ගබඩාවට වෙනස්කම් එකතු කිරීම

තල්ලු කිරීම : අවසාන බැඳීම දුරස්ථ සේවාදායකයකට මාරු කිරීම


59

හොඳයි, මූලික වශයෙන් git commit මඟින් ඔබේ වෙනස්කම් ඔබේ දේශීය ගබඩාවට ඇතුළත් කරන අතර git push මඟින් ඔබගේ වෙනස්කම් දුරස්ථ ස්ථානයට යවයි.


9
මෙය GIT භාවිතා කරන මගේ දෙවන දිනයයි. මම ඉහත පිළිතුරු දෙස බලන විට, මට තවමත් පැහැදිලි පින්තූරයක් ලැබී නැත, නමුත් ඔබේ පිළිතුර එය ඇණ ගසයි. ස්තූතියි.
බොෆා

1
වන්නේද, git pushසැබෑ යාවත්කාලීන ගොනු හෝ සමහර විශේෂ "වෙනස" ගොනු උඩුගත කිරීම්?
මල්ටිගුඩ්වර්ස්

28

git pushදේශීය ගබඩාවේ ඔබ කළ කොමිස් දුරස්ථ එකකට එක් කිරීමට භාවිතා කරයි - එය එක්ව git pull, මිනිසුන්ට සහයෝගයෙන් කටයුතු කිරීමට ඉඩ දෙයි.


27

Git යනු බෙදා හරින ලද අනුවාද පාලන පද්ධතියක් බැවින්, වෙනස වන්නේ කැපවීම ඔබේ දේශීය ගබඩාවට වෙනස්කම් සිදු කරනු ඇති අතර තල්ලුව දුරස්ථ ගබඩාවක් දක්වා වෙනස්කම් තල්ලු කරයි.


20

කැපවීම : Snapshot | වෙනස් කිරීම | ඉතිහාසය_ වාර්තා | අනුවාදය | ගබඩාවක 'සුරකින්න' . Git ගබඩාව = මාලාවක් (ගස) අනාචාරයේ .

දේශීය නිධිය: ඔබේ පරිගණකයේ නිධිය.

දුරස්ථ නිධිය: සේවාදායකයක නිධිය ( ගිතුබ් ).

git commit: දේශීය ගබඩාවට නව බැඳීමක් (අවසන් කැපවීම + වේදිකා වෙනස් කිරීම්) එකතු කරන්න . (සියලුම කොමිස් ගබඩා කර ඇත )/.git

git push, git pull: දේශීය ගබඩාව ඒ හා සම්බන්ධ දුරස්ථ නිධිය සමඟ සමමුහුර්ත කරන්න . push- සිට වෙනස්කම් අදාළ දේශීය බවට දුරස්ථ , pull- වෙනස්කම් අදාළ දුරස්ථ බවට දේශීය .


11

git commitඔබගේ වෙනස්කම් දේශීය ගබඩාවට පටිගත කරන්න .

git push යාවත්කාලීන වූ දුරස්ථ ඔබේ දේශීය වෙනස්කම් සමග ගබඩාව.


20
ඔබගේ පිළිතුර මෙම පිළිතුරට මූලික වශයෙන් සමාන වේ , එය අලුත් කිසිවක් එකතු නොකරයි.

8

සැලකිල්ලට ගත යුතු කරුණු තුනක්:

1) අපගේ කේත ගොනුව පවතින වැඩ නාමාවලිය ----- ෆෝල්ඩරය

2) දේශීය නිධිය ------ මෙය අපගේ පද්ධතිය තුළ ඇත. අපි පළමු වරට COMMIT විධානය කළ විට මෙම දේශීය ගබඩාව නිර්මාණය වේ. අපගේ ක්‍රියාකාරී නාමාවලිය ඇති
ස්ථානයේම , චෙක්සිට් (.git) ගොනුව සාදනු ලැබේ.
ඊට පසු අප කවදා හෝ කැපවූ විට, මෙය අප විසින් කරන ලද වෙනස්කම් ඩිරෙක්ටරි ගොනුවේ දේශීය ගබඩාවට (.git) ගබඩා කරයි.

3) දුරස්ථ නිධිය ----- මෙය ලෝකයේ ඕනෑම තැනක පිහිටා ඇති සේවාදායකයන් මෙන් අපගේ පද්ධතියෙන් පිටත පිහිටා ඇත. ගිතබ් වගේ. අපි PUSH විධානය කළ විට අපගේ දේශීය ගබඩාවේ කේත මෙම දුරස්ථ ගබඩාවට ගබඩා වේ


7

පහත සඳහන් කරුණු එකතු කිරීමට අවශ්‍යය:

git pushඔබගේ ප්‍රාදේශීය ශාඛාවේ සිදුකරන කොමිස් දුරස්ථ ගබඩාවකට තල්ලු කිරීමට අප භාවිතා කරන බැවින් යොන් ඔබ තල්ලු කරන තුරු තල්ලු කළ නොහැක .

මෙම git pushවිධානය තර්ක දෙකක් ගනී:

දුරස්ථ නමක්, උදාහරණයක් ලෙස, origin ශාඛා නාමයක්,master

උදාහරණයක් වශයෙන්:

git push  <REMOTENAME> <BRANCHNAME> 
git push  origin       master

4

ඉතා ගොරහැඩි ප්‍රතිසමයක්: අප git commitවිසින් සංස්කරණය කරන ලද ගොනුවක් සුරැකීමට සංසන්දනය කරන්නේ නම් , git pushඑම ගොනුව වෙනත් ස්ථානයකට පිටපත් කිරීමකි .

කරුණාකර මෙම සාදෘශ්‍යය මෙම සන්දර්භයෙන් ඉවතට නොගන්න - කැපවීම සහ තල්ලු කිරීම සංස්කරණය කරන ලද ගොනුවක් සුරැකීම හා පිටපත් කිරීම වැනි නොවේ. එය සැසඳීම් සඳහා පැවැත්විය යුතුය.


1

එය GIT විධාන භාවිතය තේරුම් ගැනීමට පහසු වේ addහා commitඔබ Github ඔබේ නිධිය තුල පවත්වාගෙන යනු ලබන ලඝු-සටහන් ගොනුව හිතාගන්න නම්. මා සඳහා සාමාන්‍ය ව්‍යාපෘතියක ලොග් ගොනුව මෙසේ පෙනේ:

---------------- Day 1 --------------------
Message: Completed Task A
Index of files changed: File1, File2

Message: Completed Task B
Index of files changed: File2, File3
-------------------------------------------

---------------- Day 2 --------------------
Message: Corrected typos
Index of files changed: File3, File1
-------------------------------------------
...
...
...and so on

මම සාමාන්‍යයෙන් මගේ දවස git pullඉල්ලීමකින් ආරම්භ කර ඉල්ලීමකින් අවසන් කරමි git push. එබැවින් දිනක වාර්තාවක් තුළ ඇති සියල්ල ඔවුන් අතර සිදුවන දේට අනුරූප වේ. සෑම දිනකම එක් හෝ වැඩි ගණනක් ඇත මම සම්පූර්ණ කරන තාර්කික කාර්යයන් කිහිපයක් ඇති අතර ඒවා ගොනු කිහිපයක් වෙනස් කිරීම අවශ්‍ය වේ. එම කාර්යයේදී සංස්කරණය කරන ලද ගොනු දර්ශකයක ලැයිස්තුගත කර ඇත.

මෙම සෑම උප කර්තව්‍යයක්ම (මෙහි කාර්යය A සහ ​​කාර්ය B) තනි කාර්යයන් වේ. මෙම git addවිධානය ගොනු 'ලිපි ගොනු වල පටුන වෙනස්' ලැයිස්තුවට එක් කරයි. මෙම ක්‍රියාවලිය වේදිකාගත කිරීම ලෙසද හැඳින්වෙන අතර යථාර්ථයේ දී ලිපිගොනු වෙනස් කිරීම සහ සිදු කරන ලද වෙනස්කම් වාර්තා කරයි. එමgit commit විධානය වාර්තා / වෙනස්කම් සහ පසුව පරිශීලනය සඳහා භාවිතා කළ හැකි අභිරුචි පණිවිඩය සමග අනුරූප දර්ශකය ලැයිස්තුව තීරණය කරයි.

ඔබ තවමත් වෙනස් කරන්නේ ඔබේ ගබඩාවේ දේශීය පිටපත මිස ගිතුබ්හි නොවන බව මතක තබා ගන්න. මෙයින් පසු, ඔබ අgit push මෙම වාර්තාගත වෙනස්කම් සියල්ලම එක් එක් කැපවීම සඳහා ඔබේ දර්ශක ලිපිගොනු සමඟ, ප්‍රධාන ගබඩාවට (ගිතුබ්හි) ලොග් වන්න.

උදාහරණයක් ලෙස, එම මන imag කල්පිත ලොග් ගොනුවේ දෙවන ප්‍රවේශය ලබා ගැනීම සඳහා, මම එසේ කරමි:

git pull
# Make changes to File3 and File4
git add File3 File4
# Verify changes, run tests etc..
git commit -m 'Corrected typos'
git push

ඉතා කෙටියෙන් කියනවා නම්, git addසහ git commitඔබ ක්රමානුකූල තාර්කික උප වෙනස්කම් බවට ප්රධාන ගබඩාව වෙනසක් බිඳ ඉඩ ලබා දෙයි. වෙනත් පිළිතුරු සහ අදහස් පෙන්වා දී ඇති පරිදි, ඔවුන්ට තවත් බොහෝ ප්‍රයෝජන තිබේ. කෙසේ වෙතත්, මෙය වඩාත් පොදු භාවිතයන්ගෙන් එකක් වන අතර Svn වැනි අනෙකුත් ජනප්‍රිය ඒවා මෙන් නොව Git බහු-අදියර සංශෝධන පාලන පද්ධතියක් වීම පිටුපස ඇති ගාමක මූලධර්මය වේ.


0

git commit යනු අපගේ වෙනස්කම් නිල වශයෙන් සුරැකීම මිස වෙන කිසිවක් නොවේ, අප කැපවීමේ පණිවුඩයක් ලබා දෙන සෑම කැපවීමක් සඳහාම, අප කොමිස් වලින් අවසන් වූ පසු එය ගෝලීයව අපගේ වෙනස දැකීමට දුරස්ථයට තල්ලු කළ හැකිය.

එයින් අදහස් වන්නේ අප දුරස්ථයට තල්ලු වීමට පෙර බොහෝ කොමිස් කළ හැකි බවයි (අපට සිදු වූ කොමිස් ලැයිස්තුව සහ පණිවුඩ ද දැක ගත හැකිය) git සෑම කැපවීමක්ම කැපකිරීමේ හැඳුනුම්පත සමඟ සුරකින අතර එය ඉලක්කම් 40 ක කේතයකි

මම දුරස්ථයේ වෙනසක් දැකීමට අවශ්‍ය වූ විට පමණක් මම git push භාවිතා කරමි (එහිදී මගේ කේතය ජෙන්කින්ස් වල වැඩ කර ඇත්දැයි පරීක්ෂා කර බැලීමෙන් පසුව)


-1

හොඳයි, මූලික වශයෙන් git commit මඟින් ඔබේ වෙනස්කම් ඔබේ දේශීය ගබඩාවට ඇතුළත් කරන අතර git push මඟින් ඔබගේ වෙනස්කම් දුරස්ථ ස්ථානයට යවයි. Git යනු බෙදා හරින ලද අනුවාද පාලන පද්ධතියක් බැවින්, වෙනස වන්නේ කැපවීම ඔබේ දේශීය ගබඩාවට වෙනස්කම් සිදු කරන අතර තල්ලුව දුරස්ථ ගබඩාවකට වෙනස්කම් තල්ලු කරයි

ගූගල් මූලාශ්‍රය

http://gitref.org/basic/ මෙම සබැඳිය ද ඉතා ප්‍රයෝජනවත් වනු ඇත

https://git-scm.com/docs/git-commit


මෙම පිළිතුර වචනයට වචනය වෙනත් පිළිතුරු එකකට පිටපත් කරයි.
ජෙෆ්රි ඔපෝකු-මෙන්සා

කලින් පවසා ඇති සියල්ලටම එය අලුත් දෙයක් ගෙන එන්නේ නැත ...
හබ්ලෝ

-1

ගිහියන් ලෙස, ඔබේ ගොනුව සාර්ථකව ගිතුබ් වෙත යොමු කිරීම සඳහා ඔබ ඒවා ක්‍රියාත්මක git commitකිරීමට පෙර පියවරයි git push.


-2

git commitදේශීය repo හි වේදිකා ගත කර ඇති ගොනු කැප කිරීමයි. git pushදේශීය පැත්තේ ප්‍රධාන ශාඛාව දුරස්ථ මාස්ටර් ශාඛාව සමඟ වේගයෙන් ඒකාබද්ධ කිරීම ය. නමුත් ඒකාබද්ධ කිරීම සැමවිටම සාර්ථක නොවේ. ප්‍රතික්ෂේප කිරීමක් පෙනේ නම්, ඔබට pullඑය සාර්ථක කර ගැනීමට හැකි git pushවේ.


සමහර අයට අදින්න වෙනුවට තල්ලු කිරීමට බල කිරීමට අවශ්‍ය විය හැකිය. එය තත්වය මත රඳා පවතී. ඇත්ත වශයෙන්ම, ඔබ ඔබ (පවා දුරස්ථ ණයකට මත) අනෙක් අය සමඟ බෙදා නෑ කියලා ශාඛාවක් ඉන්නේ rebased අනාචාරයේ නම්, ඇද නිසැකව ම නොවේ ඔබට කරන්න ඕන දේ.
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.