ආරම්භකයින් සඳහා Git: නියත ප්‍රායෝගික මාර්ගෝපදේශය


854

හරි, පී.ජේ හයිට්ගේ මෙම ලිපිය බැලීමෙන් පසු , මම අවසානය දක්වා ගොස් Git සමඟ යාමට තීරණය කර ඇත්තෙමි .

ඉතින් මට අවශ්‍ය වන්නේ ආරම්භකයකුට Git වෙත ප්‍රායෝගික මග පෙන්වීමකි. “ආරම්භකයා” යන්න අර්ථ දක්වන්නේ ඔවුන්ගේ සම්පාදකයා හැසිරවිය යුතු ආකාරය දන්නා, Makefile යනු කුමක්දැයි යම් මට්ටමකට තේරුම් ගෙන ඇති අතර එය හොඳින් තේරුම් නොගෙන ප්‍රභව පාලනයට අත තබා ඇත.

"ප්‍රායෝගික" ලෙස අර්ථ දැක්වෙන්නේ මෙම පුද්ගලයා පසුබිමේ Git කරන්නේ කුමක්ද යන්න පිළිබඳව විශාල විස්තරයක් ලබා ගැනීමට අකමැති වන අතර එය බෙදා හැරීම ගැන (හෝ දැන ගැනීමට) පවා තැකීමක් නොකරයි. ඔබගේ පිළිතුරු විභවයන් පිළිබඳව ඉඟි කළ හැකි නමුත්, උපස්ථ සහ සුරක්‍ෂිත වූ 'සේවාදායකයක' 'ප්‍රධාන' ගබඩාවක් තබා ගැනීමට අවශ්‍ය ආරම්භකයා ඉලක්ක කර ගැනීමට උත්සාහ කරන්න, සහ ඔවුන්ගේ දේශීය ගබඩාව හුදෙක් 'සේවාදායක' සම්පතක් ලෙස සලකන්න.

නිසා:

ස්ථාපනය / සැකසුම

කේතය සමඟ වැඩ කිරීම

ඇමිණීම, අතු බෙදීම, මුදා හැරීම, මූලික කරුණු

වෙනත්

  • Git විධාන නොවන සම්පත් සම්පතක් බවට පත් කරන හොඳ GUI, IDE ප්ලගිනයක් ආදිය විස්තර කර සම්බන්ධ කරන්න, නමුත් කරුණාකර එහි සීමාවන් මෙන්ම එහි හොඳ දේද ලැයිස්තුගත කරන්න.
    • msysgit - හරස් වේදිකාව, Git සමඟ ඇතුළත් කර ඇත
    • gitk - හරස් වේදිකා ඉතිහාස නරඹන්නා, Git සමඟ ඇතුළත් කර ඇත
    • gitnub - මැක් ඕඑස් එක්ස්
    • gitx - මැක් ඕඑස් එක්ස් ඉතිහාස නරඹන්නා
    • smartgit - හරස් වේදිකාව, වාණිජ, බීටා
    • tig - ලිනක්ස් සඳහා GUI කොන්සෝලය
    • qgit - වින්ඩෝස්, ලිනක්ස් සඳහා GUI
    • Git දිගු - වින්ඩෝස් සඳහා වන පැකේජයට මිත්‍රශීලී GUI ඇතුළත් වේ
  • ආරම්භකයකු දැනගත යුතු වෙනත් පොදු කාර්යයන් තිබේද?
  • මගේ ප්‍රභව පාලන ප්‍රභවය ලෙස උපසිරැසි ගබඩාවක් සමඟ effectively ලදායී ලෙස ක්‍රියා කරන්නේ කෙසේද?

වෙනත් Git ආරම්භකයාගේ යොමු කිරීම්

Git වෙතට පිවිසීම

මම වරින් වර ඇතුළත් කිරීම් හරහා ගොස් ඒවා පිළිවෙලට සකස් කරමි, එවිට ඒවාට ස්ථාවර පෙනුමක් / හැඟීමක් ඇති අතර ලැයිස්තුව පරිලෝකනය කිරීම පහසුය - සරල "ශීර්ෂයක් - කෙටි පැහැදිලි කිරීමක් - උපදෙස් ලැයිස්තුවක් - ගොචාස් සහ අමතර තොරතුරු "අච්චුව. මම ඉහත උණ්ඩ ලැයිස්තුවෙන් ඇතුළත් කිරීම් වලට සම්බන්ධ කරමි, එවිට ඒවා පසුව සොයා ගැනීම පහසුය.

Answers:


118

ඔබ නව ව්‍යාපෘතියක් / ගබඩාවක් නිර්මාණය කරන්නේ කෙසේද?

Git නිධිය යනු විශේෂ .gitනාමාවලියක් සහිත නාමාවලියකි.

මෙය "මධ්‍යගත" අනුවාද-පාලන පද්ධති (උපසිරැසි වැනි) වලට වඩා වෙනස් වේ, එහිදී දුරස්ථ සේවාදායකයක "ගබඩාවක්" සත්කාරක වන අතර එය ඔබ checkout"වැඩ කරන පිටපත්" නාමාවලියකට ඇතුළත් කරයි. GIT සමග, ඔබගේ කම්කරු පිටපතක් වේ නිධිය.

git initඔබ ලුහුබැඳීමට කැමති ලිපිගොනු අඩංගු නාමාවලියෙහි සරලව ධාවනය කරන්න.

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

cd ~/code/project001/
git init

මෙය .gitවත්මන් නාමාවලියෙහි (සැඟවුණු) ෆෝල්ඩරයක් නිර්මාණය කරයි .

නව ව්‍යාපෘතියක් කිරීමට, git initඅතිරේක තර්කයක් සමඟ ධාවනය කරන්න (නිර්මාණය කළ යුතු නාමාවලියෙහි නම):

git init project002

(This is equivalent to: mkdir project002 && cd project002 && git init)

වත්මන් වත්මන් මාර්ගය git ගබඩාවක් තුළ තිබේදැයි පරීක්ෂා කිරීම සඳහා, සරලව ධාවනය කරන්න git status- එය ගබඩාවක් නොවේ නම්, එය "මාරාන්තික: git නිධියක් නොවේ" යනුවෙන් වාර්තා කරයි.

ඔබට .gitනාමාවලිය ලැයිස්තුගත කළ හැකි අතර, පහත සඳහන් ඒවාට සමාන ලිපිගොනු / නාමාවලි එහි තිබේදැයි පරීක්ෂා කරන්න:

$ ls .git
HEAD         config       hooks/       objects/
branches/    description  info/        refs/

කුමන හේතුවක් නිසා හෝ ඔබ නිධියක් "ඩි-ගිට්" කිරීමට අදහස් කරන්නේ නම් (එම ව්‍යාපෘතිය නිරීක්ෂණය කිරීම සඳහා ඔබ git භාවිතා කිරීම නැවැත්වීමට අදහස් කරයි). .gitගබඩාවේ මූලික මට්ටමින් නාමාවලිය ඉවත් කරන්න .

cd ~/code/project001/
rm -rf .git/

අවවාදයයි: මෙය සියලු සංශෝධන ඉතිහාසය, ඔබගේ සියලුම ටැග්, git විසින් සිදු කර ඇති සියල්ල විනාශ කරනු ඇත. එය "වත්මන්" ලිපිගොනු ස්පර්ශ නොකරනු ඇත (ඔබට දැනට දැකිය හැකි ලිපිගොනු), නමුත් පෙර සිදු වූ වෙනස්කම්, මකාදැමුණු ගොනු යනාදිය සොයාගත නොහැකි වනු ඇත!


3
Git එහි වස්තු කියවීමට පමණක් සලස්වයි, එබැවින් ඔබට rm -rf .gitgit හි දත්ත සමුදාය මකා දැමීමට අවශ්‍ය වනු ඇත.
ජොෂ් ලී

සාමාන්‍යයෙන් .gitignore ගොනුවක් සාමාන්‍ය භාවිතයේදී අනුවාද කිරීමේදී නොසලකා හැරීමට ලිපිගොනු / ගස් නියම කිරීමට අවශ්‍ය වනු ඇත, එබැවින් "ඉවත් කිරීම" පිළිබඳ අවසාන කොටස ගැන සම්පූර්ණ වීමට, ඉවත් කිරීමට අමතරව .git ඉවත් කිරීමටද ඔබට අවශ්‍ය වනු ඇත. gitignore ගොනුව. :)
මොනෝමන්

හිස් ගබඩාවන් ගැන කුමක් කිව හැකිද? ඒවා කෙසේ හෝ "මධ්‍යගත" වී ඇති අතර, යම් ආකාරයක මධ්‍යගත කිරීමක් අවශ්‍ය බොහෝ ව්‍යාපෘති සඳහා ඒවා හොඳ දෙයක් යැයි මම සිතමි (උදා: බොහෝ අය විසින් සංවර්ධනය කරන ලද ව්‍යාපෘති)
peoro

git statusඔබ ගබඩාවක් තුළ සිටින බව සහතික කිරීම සඳහා WRT ධාවනය වේ: මෙයට එක් ගොචා ඇත: ඔබේ වර්තමාන කවචයේ පරිසර විචල්‍යය $ GIT_DIR සකසා ඇත්නම්, git ඔබගේ වර්තමාන ස්ථානය නොසලකා හරිමින් $ GIT_DIR හි ගබඩාව භාවිතා කරනු ඇත. මම දැනගත යුතුයි, මට ඊයේ පැයක් අහිමි විය.
සැන්මිගුවෙල්

110

Git සඳහා GUIs


Git GUI

Git - git guiවිධාන රේඛාවෙන් ධාවනය කරන්න , වින්ඩෝස් msysgit ස්ථාපකය එය ආරම්භක මෙනුවට එක් කරයි.

Git GUI හට ඔබට git සමඟ කළ යුතු දේවලින් වැඩි ප්‍රමාණයක් කළ හැකිය. අදියර වෙනස්වීම්, git සහ repositories වින්‍යාස කිරීම, වෙනස්කම් තල්ලු කිරීම, ශාඛා නිර්මාණය කිරීම / පරීක්ෂා කිරීම / මකා දැමීම, ඒකාබද්ධ කිරීම සහ තවත් බොහෝ දේ ඇතුළත් වේ.

දකුණු-ක්ලික් මෙනුවේ "වේදිකා රේඛාව" සහ "වේදිකා හන්ක්" කෙටිමං මගේ ප්‍රියතම අංගයක් වන අතර එමඟින් ගොනුවක නිශ්චිත කොටස් කිරීමට ඔබට ඉඩ සලසයි. ඔබට එය හරහා එය සාක්ෂාත් කරගත හැකිය git add -i, නමුත් මට එය භාවිතා කිරීම පහසුය.

එය වඩාත්ම සුන්දර යෙදුම නොවේ, නමුත් එය සෑම වේදිකාවකම පාහේ ක්‍රියාත්මක වේ (Tcl / Tk මත පදනම්ව)

තිර දර්ශන | තිර විකාශයක්


GitK

Git සමඟ ද ඇතුළත් වේ. එය git history viewer එකක් වන අතර, නිධියක ඉතිහාසය දෘශ්‍යමාන කිරීමට ඔබට ඉඩ සලසයි (ශාඛා ඇතුළුව, ඒවා නිර්මාණය වූ විට සහ ඒකාබද්ධ වූ විට). ඔබට කොමිස් බැලීමට හා සෙවීමට හැකිය.

Git-gui සමඟ හොඳින් ගමන් කරයි.


ගිට්නබ්

මැක් ඕඑස් එක්ස් යෙදුම. ප්‍රධාන වශයෙන් සමාන git log, නමුත් ගිතුබ් සමඟ යම් සම්බන්ධතාවයක් ඇත ("ජාල දර්ශනය" වැනි).

ලස්සන පෙනුමක් ඇති අතර මැක් ඕඑස් එක්ස් සමඟ ගැලපේ. ඔබට ගබඩාවන් සෙවිය හැකිය. Gitnub හි විශාලතම විවේචනය වන්නේ එය ඉතිහාසය රේඛීය ආකාරයකින් පෙන්වීමයි (වරකට තනි ශාඛාවක්) - එය අතු බෙදීම හා ඒකාබද්ධ කිරීම දෘශ්‍යමාන නොකරයි, එය git සමඟ වැදගත් විය හැකිය, මෙය සැලසුම් සහගත වැඩිදියුණු කිරීමක් වුවද.

සබැඳි බාගන්න, ලොග් සහ තිර දර්ශන වෙනස් කරන්න | git නිධිය


GitX

"OS X සඳහා gitk clone" වීමට අදහස් කරයි.

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

එය OS X සමඟ git-gui/ ට වඩා බෙහෙවින් ඒකාබද්ධ වී ඇති gitkඅතර සුවිශේෂී ලෙස විශාල ගබඩාවන් සමඟ වුවද වේගවත් හා ස්ථාවර වේ.

මුල් git repository pieter මෑතකදී යාවත්කාලීන වී නොමැත (ලිවීමේදී වසරකට වැඩි කාලයක්). වඩාත් ක්‍රියාශීලීව නඩත්තු කරන ලද ශාඛාවක් බ්‍රදර්බාර්ඩ් / ගිටෙක්ස් වෙතින් ලබා ගත හැකිය - එය "පැති තීරුව, ලබා ගැනීම, අදින්න, තල්ලු කිරීම, දුරස්ථව එක් කිරීම, ඒකාබද්ධ කිරීම, චෙරි-පික්, රිබේස්, ක්ලෝන, ක්ලෝන"

බාගත කරන්න | තිරපිටපත් | git repository | සහෝදරයා දෙබලක | laullon fork


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

මුල් පිටුවෙන්:

ස්මාර්ට්ගිට් යනු බෙදා හරින ලද අනුවාද පාලන පද්ධතියේ ඉදිරිපස කොටස වන අතර එය වින්ඩෝස්, මැක් ඕඑස් එක්ස් සහ ලිනක්ස් මත ධාවනය වේ. ස්මාර්ට්ගිට් යනු විධාන රේඛා සේවාදායකයෙකුට වඩා චිත්‍රක පරිශීලක අතුරුමුහුණතක් කැමති සංවර්ධකයින් සඳහා වන අතර එය Git සමඟ වඩාත් tive ලදායී වීමටයි - අද දින බලවත්ම DVCS.

ඔබට එය ඔවුන්ගේ වෙබ් අඩවියෙන් බාගත හැකිය .

බාගත


ඉබ්බා ගිට්

වින්ඩෝස් භාවිතා කරන්නන් සඳහා ඉබ්බන් එස්වීඑන් ගිට් අනුවාදය.

එය TortoiseSVN TortoiseGit වෙත ගෙනයනු ලැබේ නවතම නිකුතුව 1.2.1.0 මෙම නිකුතුවට නිත්‍ය කාර්යයන් සම්පූර්ණ කළ හැකිය, එවැනි කැපවීම, ලොග් පෙන්වීම, වෙනස් අනුවාද දෙකක්, ශාඛා හා ටැග් නිර්මාණය කිරීම, පැච් සාදන්න සහ යනාදිය. වැඩි විස්තර සඳහා ReleaseNotes බලන්න . මෙම ව්‍යාපෘතියට දායක වීමට සාදරයෙන් පිළිගනිමු.

බාගත


QGit

QGit යනු Qt / C ++ මත ගොඩනගා ඇති git GUI නරඹන්නෙකි.

Qgit සමඟ ඔබට සංශෝධන ඉතිහාසය පිරික්සීමට, පැච් අන්තර්ගතය සහ වෙනස් කළ ලිපිගොනු බැලීමට, විවිධ සංවර්ධන ශාඛා ප්‍රස්ථාරිකව අනුගමනය කිරීමට ඔබට හැකි වේ.

බාගත


gitg

gitg යනු gtk + / GNOME ඉලක්ක කරගත් git නිධිය නරඹන්නෙකි. එහි එක් ප්‍රධාන පරමාර්ථයක් වන්නේ බහුවිධ ඩෙස්ක්ටොප් හරහා git frontends සඳහා වඩාත් ඒකාබද්ධ පරිශීලක අත්දැකීමක් ලබා දීමයි. මෙය හරස් වේදිකා යෙදුමක් ලිවීම නොව, වෙනත් මෙහෙයුම් පද්ධති සඳහා සමාන සේවාදායකයින් සමඟ සමීප සහයෝගයෙන් (OS X සඳහා GitX වැනි).

විශේෂාංග

  • සංශෝධන ඉතිහාසය පිරික්සන්න.
  • විශාල ගබඩාවන් හසුරුවන්න (තත්පර 1 ට අඩු ලිනක්ස් නිධිය, 17000+ සංශෝධන පැටවීම).
  • වෙනස්කම් කරන්න.
  • අදියර / වේදිකා තනි තනි හන්ක්.
  • වෙනස්කම් ආපසු හරවන්න.
  • සංශෝධනවල වෙනස් වූ වර්ණ ගැන්වූ වෙනස පෙන්වන්න.
  • දී ඇති සංශෝධනයක් සඳහා ගස පිරික්සන්න.
  • දී ඇති සංශෝධනයක ගසෙහි කොටස් අපනයනය කරන්න.
  • ඉතිහාසය තැනීම සඳහා 'git log' වැනි විධානයකට තේරුම් ගත හැකි ඕනෑම refspec එකක් සපයන්න.
  • ඉතිහාස දර්ශනයේ ශාඛා අතර පෙන්වන්න සහ මාරු වන්න.

බාගත කරන්න: නිකුත් කිරීම් හෝ ප්‍රභවය


Gitbox

Gitbox යනු Git අනුවාද පාලන පද්ධතිය සඳහා මැක් OS X චිත්‍රක අතුරුමුහුණතකි. තනි කවුළුවක ශාඛා, ඉතිහාසය සහ වැඩ කරන නාමාවලි තත්ත්වය ඔබට පෙනේ.

එදිනෙදා මෙහෙයුම් පහසුය: පිරික්සුම් කොටුවක් සමඟ වේදිකා සහ වේදිකා වෙනස්වීම්. එක ක්ලික් කිරීමකින් කැපවීම, අදින්න, ඒකාබද්ධ කිරීම සහ තල්ලු කිරීම. FileMerge.app සමඟ වෙනසක් පෙන්වීමට වෙනසක් දෙවරක් ක්ලික් කරන්න.

බාගත


ගිටි

Gity වෙබ් අඩවියට එතරම් තොරතුරු නොමැත, නමුත් එහි ඇති තිරපිටපත් වලින් එය අංගසම්පූර්ණ විවෘත කේත OS X git gui ලෙස පෙනේ.

බාගත කිරීම හෝ මූලාශ්‍රය


මෙල්ඩ්

මෙල්ඩ් යනු දෘශ්‍ය වෙනස සහ ඒකාබද්ධ කිරීමේ මෙවලමකි. ඔබට ලිපිගොනු දෙකක් හෝ තුනක් සංසන්දනය කර ඒවා තැනින් තැන සංස්කරණය කළ හැකිය (වෙනස යාවත්කාලීන කිරීම ගතිකව). ඔබට ෆෝල්ඩර දෙකක් හෝ තුනක් සංසන්දනය කර ගොනු සැසඳීම් දියත් කළ හැකිය. CVS, Subversion, Bazaar-ng සහ Mercurial [ සහ Git ] වැනි ජනප්‍රිය අනුවාද පාලන පද්ධති වලින් ඔබට වැඩ කරන පිටපතක් පිරික්සීමට සහ බැලීමට හැකිය .

භාගත කිරීම


කටාන

ස්ටීව් ඩෙකෝර්ට් විසින් OSX සඳහා Git GUII.

බැලූ බැල්මට, කුමන දුරස්ථ ශාඛා අදින්නට වෙනස්කම් තිබේද සහ දේශීය ගබඩාවලට තල්ලු කිරීමට වෙනස්කම් තිබේද යන්න බලන්න. එකතු කිරීම, කැපවීම, තල්ලු කිරීම, අදින්න, ටැගය සහ යළි පිහිටුවීම යන git ops සඳහා සහාය වන අතර දේශීය වෙනස්කම් සහ එකතු කිරීම් ඉස්මතු කරන ව්‍යාපෘති ධූරාවලියේ දෘශ්‍ය වෙනස්කම් සහ දෘශ්‍ය ගවේෂණය.

1 නිධිය සඳහා නොමිලේ, තවත් ඩොලර් 25 ක්.

බාගත


පැළ (කලින් GitMac)

Git භාවිතා කිරීම පහසු කිරීම කෙරෙහි අවධානය යොමු කරන්න. ස්වදේශික කොකෝවා (මැක්-වැනි) යූඅයි, වේගවත් නිධිය ගවේෂණය, ක්ලෝනකරණය, තල්ලු කිරීම / අදින්න, අතු බෙදීම / ඒකාබද්ධ කිරීම, දෘශ්‍ය වෙනස, දුරස්ථ ශාඛා, පර්යන්තයට පහසුවෙන් ප්‍රවේශ වීම සහ තවත් දේ.

වඩාත් බහුලව භාවිතා වන Git ක්‍රියා බුද්ධිමත්ව හා පහසුවෙන් ඉටු කිරීමෙන්, ස්ප r ට් (කලින් GitMac) Git පරිශීලක-හිතකාමී කරයි. බොහෝ Git කාර්ය ප්‍රවාහ සමඟ අනුකූල වන අතර, නිර්මාණකරුවන් සහ සංවර්ධකයින්, කණ්ඩායම් සහයෝගීතාව සහ උසස් හා නවක පරිශීලකයින් සඳහා පැළය විශිෂ්ටයි.

බාගත කරන්න | වෙබ් අඩවිය


කුළුණ

මැක් ඕඑස්එක්ස් සඳහා විශේෂාංග වලින් පොහොසත් Git GUI. දින 30 ක නොමිලේ අත්හදා බැලීමක්, තනි පරිශීලක බලපත්‍රයක් සඳහා US 59USD.

බාගත කරන්න | වෙබ් අඩවිය


EGit

EGit යනු Git අනුවාද පාලන පද්ධතිය සඳහා සූර්යග්‍රහණ කණ්ඩායම් සැපයුම්කරුවෙකි. Git යනු බෙදා හරින ලද SCM ය, එයින් අදහස් කරන්නේ සෑම සංවර්ධකයෙකුටම කේතයේ සෑම සංශෝධනයකම සම්පූර්ණ ඉතිහාසයේ සම්පූර්ණ පිටපතක් ඇති අතර ඉතිහාසයට එරෙහිව විමසීම් ඉතා වේගවත් හා විවිධාකාර වේ.

GG හි JGit Java ක්‍රියාත්මක කිරීම මත EGit ව්‍යාපෘතිය සූර්යග්‍රහණ මෙවලම් ක්‍රියාත්මක කරයි.

බාගත කරන්න | වෙබ් අඩවිය


Git දිගු

වින්ඩෝස් සඳහා විවෘත මූලාශ්‍රය - ඔබට Git සමඟ වැඩ කිරීමට අවශ්‍ය සියල්ල තනි පැකේජයක් තුළ ස්ථාපනය කරයි, භාවිතා කිරීමට පහසුය.

Git දිගු කිරීම යනු වින්ඩෝස් හි Git සමඟ වැඩ කිරීම වඩාත් බුද්ධිමත් කිරීම සඳහා වූ මෙවලම් කට්ටලයකි. ෂෙල් දිගුව වින්ඩෝස් එක්ස්ප්ලෝරර් සමඟ ඒකාබද්ධ වන අතර ගොනු සහ නාමාවලි වල සන්දර්භය මෙනුවක් ඉදිරිපත් කරයි. විෂුවල් ස්ටුඩියෝ වෙතින් git භාවිතා කිරීම සඳහා දෘශ්‍ය ස්ටුඩියෝ ප්ලගිනයක් ද ඇත.

බාගත

Git gui දේවල් විස්තර කිරීම ගැන dbr ට ලොකු ස්තූතියි .


SourceTree

SourceTree යනු Git, Mercurial සහ SVN සඳහා නොමිලේ මැක් සේවාදායකයෙකි. බිට්බකට් පිටුපස සිටින මිනිසුන් වන ඇට්ලේෂියන් විසින් සාදන ලද එය ඕනෑම VC පද්ධතියක් සමඟ සමානව ක්‍රියා කරන බව පෙනේ, එමඟින් ඔබේ සියලු ව්‍යාපෘති සමඟ භාවිතා කිරීම සඳහා තනි මෙවලමක් ප්‍රගුණ කිරීමට ඔබට ඉඩ සලසයි, කෙසේ වෙතත් ඒවා අනුවාදය පාලනය කරයි. විශේෂාංග ඇසුරුම් සහ නොමිලේ.

නවක සහ උසස් පරිශීලකයින් සඳහා විශේෂ ert සූදානම් සහ විශේෂාංග ඇසුරුම්:

පිටතට යන සහ පැමිණෙන වෙනස්වීම් සමාලෝචනය කරන්න. අතු අතර චෙරි-පික්. පැච් හැසිරවීම, නැවත සකස් කිරීම, තොග / රාක්ක සහ තවත් බොහෝ දේ.

බාගත කරන්න | වෙබ් අඩවිය



2
ඔබට හොඳ පිළිතුරු කිහිපයක් තිබේ (විශේෂයෙන් gitcasts, සහ push / pull answer), නමුත් මට එය වෙනම පිළිතුරකට බෙදීමට නිර්දේශ කළ හැකිද? ප්රශ්නකරු ඔබ "තොරතුරු පොකුරක් එක පිළිතුරකට තද කිරීමට උත්සාහ නොකරන්න" යනුවෙන් ඉල්ලා සිටියේය!
dbr

3
සමහර විට ඔබ ඔබේ ලැයිස්තුවට TortoiseGit code.google.com/p/tortoisegit එකතු කළ යුතුය , වින්ඩෝස් ගිටර් සඳහා ...
kret

1
Gity ( macendeavor.com/gity ) විකල්පයකි, නමුත් එය තවමත් සංවර්ධනය වෙමින් පවතී (OS X)
ඩේව් ඩිලොන්ග්

2
කුළුණ ("මැක් සඳහා වඩාත්ම බලගතු Git සේවාදායකයා") යනු Git සඳහා ලස්සන නව සේවාදායකයෙකි.
rubiii

59

හොඳයි, අපි වෙනත් සම්පත් සමඟ “සරලව” සම්බන්ධ නොවන්නැයි ඔබ ඉල්ලා සිටියද, ප්‍රජාව වැඩුණු (සහ වර්ධනය වන) සම්පතක් දැනටමත් පවතින විට එය ඉතා හොඳ මෝඩකමකි: Git Community Book . බරපතල ලෙස, ප්‍රශ්නයක ඇති මෙම 20+ ප්‍රශ්න සංක්ෂිප්ත හා ස්ථාවර එකක් මිස වෙන කිසිවක් නොවේ. Git ප්‍රජා පොත HTML සහ PDF යන දෙකින්ම ලබා ගත හැකි අතර ඔබේ ප්‍රශ්න බොහොමයකට පැහැදිලි, හොඳින් හැඩතල ගැන්වූ සහ සමපදස්ථ සමාලෝචන පිළිතුරු සහ ඔබේ ගැටලුව වෙත කෙළින්ම පැනීමට ඉඩ සලසන ආකෘතියකින් පිළිතුරු සපයයි.

අහෝ, මගේ සටහන ඔබව අවුල් කරන්නේ නම් මම එය මකා දමමි. එසේ කියන්න.


2
එය DVCS නිසා ඔබ git භාවිතා නොකරන්නේ නම්, ඇයි git භාවිතා කිරීමට කරදර වන්නේ? මෙම ප්‍රශ්නය මෝඩ වන අතර සැක සහිත ඉලක්කයක් සපුරාලීම සඳහා වෙනත් දේ සඳහා වියදම් කළ හැකි සම්පත් හරවා යවයි.
රැන්ඩල් ෂ්වාට්ස්

56

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

ඔබ එය ලුහුබැඳීමට අකමැති ගොනු නොසලකා හැරීමේ හැකියාව ඉතා ප්‍රයෝජනවත් වේ.

ගොනුවක් හෝ ගොනු සමූහයක් නොසලකා හැරීම සඳහා ඔබ රටාවක් සපයයි. Git සඳහා රටා වාක්‍ය ඛණ්ඩය තරමක් සරල නමුත් බලවත් ය. මම බෙලෝ සඳහන් කරන විවිධ ලිපිගොනු තුනටම එය අදාළ වේ.

  • හිස් රේඛාවක් ලිපිගොනු නොසලකා හරියි, එය සාමාන්‍යයෙන් බෙදුම්කරුවෙකු ලෙස භාවිතා කරයි.
  • # සමඟ දිවෙන රේඛා අදහස් ලෙස සේවය කරයි.
  • ! උපසර්ගය අත්‍යවශ්‍ය නොවන අතර රටාව ප්‍රතික්ෂේප කරනු ඇත. ගැලපෙන ඕනෑම නිෂේධාත්මක රටාවක් පහළ ප්‍රමුඛතා රටාවන් අභිබවා යනු ඇත.
  • උසස් ප්‍රකාශන සහ වල් කාඩ් සඳහා සහය දක්වයි
    • උදා: රටාව: *. [Oa] .o හෝ .a (වස්තු සහ සංරක්ෂිත ගොනු) වලින් අවසන් වන ගබඩාවේ ඇති සියලුම ගොනු නොසලකා හරිනු ඇත.
  • රටාවකට ඩිරෙක්ටරියක් ස්ලෑෂ් ජිට් එකකින් අවසන් වන්නේ නම් මෙම ඩිරෙක්ටරියට පමණක් ගැලපෙන අතර එයට යටින් ඇති මාර්ග. මෙය සාමාන්‍ය ලිපිගොනු සහ සංකේතාත්මක සබැඳි තරඟයෙන් බැහැර කරයි.
  • ප්‍රමුඛ කප්පාදුවක් එම මාර්ග නාමයේ ඇති සියලුම ගොනු සමඟ ගැලපේ.
    • උදා: /*.c රටාව foo.c ගොනුවට ගැලපෙන නමුත් බාර් / නියමයි

Gitignore (5) man පිටුවෙන් විශිෂ්ට උදාහරණය :

$ git status
[...]
# Untracked files:
[...]
#       Documentation/foo.html
#       Documentation/gitignore.html
#       file.o
#       lib.a
#       src/internal.o
[...]
$ cat .git/info/exclude
  # ignore objects and archives, anywhere in the tree.
  *.[oa]
$ cat Documentation/.gitignore
# ignore generated html files,
*.html
# except foo.html which is maintained by hand
!foo.html
$ git status
[...]
# Untracked files:
[...]
#       Documentation/foo.html
[...]

හඳුනා නොගත් ලිපිගොනු නොසලකා හැරීමට සාමාන්‍යයෙන් ක්‍රම තුනක් තිබේ.

1) ගබඩාවේ සියලුම පරිශීලකයින් සඳහා නොසලකා හරින්න:

ඔබගේ වැඩ කරන පිටපතෙහි මූලයට .gitignore නමින් ගොනුවක් එක් කරන්න .

නොසලකා හැරිය යුතු / නොකළ යුතු ගොනු සඳහා ඔබේ මනාපයන් ගැලපීමට .gitignore සංස්කරණය කරන්න .

git add .gitignore 

ඔබ අවසන් වූ පසු කැප වන්න.

2) ඔබේ ගබඩාවේ පිටපතක් පමණක් නොසලකා හරින්න:

එකතු කරන්න / සංස්කරණය කරන්න ගොනු $ GIT_DIR / තොරතුරු / බැහැර ඔබ කැමති රටා සමග, ඔබගේ වැඩ පිටපත.

උදා: මගේ වැඩ කරන පිටපත ~ / src / project1 බැවින් මම සංස්කරණය කරමි ~ / src / project1 / .git / info / බැහැර කරන්න

ඔබ ඉවරයි!

3) ඔබේ පද්ධතියේ සෑම අවස්ථාවකම නොසලකා හරින්න:

ඔබේ පද්ධතිය සඳහා ගෝලීය නොසලකා හැරීමේ රටා ඔබට අවශ්‍ය දේ නම් කළ ගොනුවකට යා හැකිය.

පතල් පෞද්ගලිකව ~ / .gitglobalignore ලෙස හැඳින්වේ

පහත දැක්වෙන රේඛාව සමඟ මගේ ~ / .gitconfig ගොනුව සංස්කරණය කිරීමෙන් මට මෙම ගොනුව ගැන git ට දැනුම් දිය හැකිය :

core.excludesfile = ~/.gitglobalignore

ඔබ ඉවරයි!

වැඩි විස්තර සඳහා gitignore man පිටුව හොඳම සම්පත ලෙස මම දකිමි .


කරුණාකර යමෙකුට මෙම තනතුරට සුළු නමුත් වැදගත් විස්තරයක් එක් කළ හැකිද? මෙය ක්‍රියාත්මක වන්නේ දැනටමත් git විසින් නිරීක්ෂණය කර නොමැති ගොනු සඳහා පමණි. ගොනුව 'ඉවත් කිරීමට' නමුත් ගොනු පද්ධතියේ තැබීමට ඔබට 'git rm --cached ගොනු නාමය' අවශ්‍ය වේ. ස්තූතියි!
නිකිටා රයිබාක්

Core.excludesfile රේඛාව එක් කිරීම මට ප්‍රයෝජනවත් නොවන බව සටහන් කිරීමට මට අවශ්‍යය. එය ක්‍රියාත්මක කිරීම සඳහා මට [git config --global core.excludesfile ~ / .gitglobalignore] කිරීමට සිදු විය.
කේතීකරණ දිස්ත්‍රික්කය

විවිධ භාෂා හා සංවර්ධන පරිසරයන් සඳහා ගිටිග්නෝර් ලිපිගොනු ඇති ගිතිබ්නෝර් නම් ව්‍යාපෘතියක් දැන් ඇත: github.com/github/gitignore
රයන් ලුන්ඩි

47

විශේෂිත සංශෝධන සමූහයක් ඔබ 'ටැග්' කරන්නේ කෙසේද?

විශේෂිත ලිපිගොනු කට්ටලයක් සඳහා ඔබ විසින් යම් සංශෝධනයක් 'සලකුණු' කිරීම හෝ 'මුදා හැරීම' කරන්නේ කෙසේද?

git tagවිධානය භාවිතා කිරීම .

වත්මන් සංශෝධනය සරලව "ටැග්" කිරීම සඳහා, ඔබ දුවනු ඇත ..

git tag -a thetagname
git tag -a 0.1
git tag -a 2.6.1-rc1 -m 'Released on 01/02/03'

වත්මන් ටැග් ලැයිස්තුගත කිරීම සඳහා, git tagකිසිදු තර්කයකින් තොරව ධාවනය කරන්න, හෝ -l(කුඩා අකුරු L):

$ git tag -a thetagname # and enter a message, or use -m 'My tag annotation'
$ git tag -l
thetagname

ටැගයක් මකා දැමීමට, ඔබ -dධජය භාවිතා කරයි :

$ git tag -d thetagname 
Deleted tag 'thetagname'
$ git tag
[no output]

නිශ්චිත (පෙර) බැඳීමක් සටහන් කිරීමට, ඔබ සරලවම කරන්න ..

git tag [tag name] [revision SHA1 hash]

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

git tag 1.1.1 81b15a68c6c3e71f72e766931df4e6499990385b

සටහන: පෙරනිමියෙන්, git විසින් "සැහැල්ලු" ටැගයක් නිර්මාණය කරයි (මූලික වශයෙන් නිශ්චිත සංශෝධනයකට යොමු කිරීම). "නිවැරදි" මාර්ගය වන්නේ -aධජය භාවිතා කිරීමයි . මෙය ඔබේ සංස්කාරකය ටැග් පණිවිඩයක් ඉල්ලා සිටිනු ඇත (කැපවීමේ පණිවිඩයක් ඉල්ලීමට සමාන වේ -m, විධාන රේඛාවේ ටැග් පණිවිඩය සැපයීමට ඔබට ධජය භාවිතා කළ හැකිය ). විවරණය කළ ටැගයක් භාවිතා කිරීමෙන් වස්තුවක් එහි හැඳුනුම්පත, දිනය, ටැගර් (කතෘ) සහ විකල්පයක් ලෙස ජීපීජී අත්සනක් ( -sටැගය භාවිතා කරමින් ) නිර්මාණය කරයි. මේ පිළිබඳ වැඩි විස්තර සඳහා මෙම ලිපිය බලන්න

git tag mytagwithmsg -a -m 'This is a tag, with message'

ව්‍යාඛ්‍යාව සමඟ ටැග් ලැයිස්තු ගත -n1කිරීම සඳහා, එක් එක් ටැග් පණිවිඩයේ පේළි 1 ක් පෙන්වීමට ධජය භාවිතා කරන්න ( -n245එක් එක් විවරණයේ පළමු පේළි 245 පෙන්වීමට සහ එසේ ය):

$ git tag -l -n1
mytagwithmsg    This is a tag, with message

වැඩි විස්තර සඳහා, git-tag (1) අත්පොත පිටුව බලන්න


git ටැගය පෙරනිමියෙන් ටැග් නිර්මාණය නොකරයි , සැහැල්ලු යොමු කිරීම් පමණි. ටැග් වස්තුවක් නිර්මාණය කිරීම සඳහා ඔබ -a හෝ -s භාවිතා කළ යුතුය (විස්තර කිරීම වැනි දේ භාවිතා කරනු ඇත): rockstarprogrammer.org/post/2008/oct/16/…
ඩස්ටින්

අහ්, රසවත්. ස්තූතියි, මෙය පිළිබිඹු කිරීම සඳහා මම පිළිතුර යාවත්කාලීන කර ඇත
dbr

කලින් සිදු කළ සංශෝධනයක් ඔබ ටැග් කරන්නේ කෙසේද? (කණගාටුයි, එය දිග වැඩියි, ඒ නිසා මම යමක් මග
හැරියාද

hasen j: පිළිතුරු දීමට තොරතුරු එකතු කරන ලදි, මූලික වශයෙන්git tag tagname revision_SHA1
dbr

1
ටැග් දුරස්ථ repo වෙත තල්ලු කිරීම සඳහා, git push භාවිතා කරන විට --tags එක් කරන්න (github help area වෙතින් තොරතුරු).
හෙක්ටර් රමෝස්

46

GIT සමඟ වැඩ ප්‍රවාහ උදාහරණය.

Git අතිශයින්ම නම්‍යශීලී වන අතර ඕනෑම කාර්ය ප්‍රවාහයකට හොඳට අනුවර්තනය වේ, නමුත් විශේෂිත කාර්ය ප්‍රවාහයක් බලාත්මක නොකිරීම මඟින් රේඛීය “උපස්ථ” කාර්ය ප්‍රවාහයෙන් ඔබ්බට git සමඟ ඔබට කළ හැකි දේ තේරුම් ගැනීමට අපහසු වීම negative ණාත්මක බලපෑමක් ඇති කළ හැකිය. .

මෙය බ්ලොග් සටහන ඉතා සරල නමුත් work ලදායී කාර්ය ප්‍රවාහයක් පැහැදිලි කරයි.

බ්ලොග් සටහනෙන් උපුටා දැක්වීම: හෙඩ් හි ප්‍රභව කේතය සෑම විටම නිෂ්පාදන-සූදානම් තත්වයක් පිළිබිඹු කරන ප්‍රධාන ශාඛාව ලෙස අපි සම්භවය / ස්වාමියා සලකමු:

මෙම කාර්ය ප්‍රවාහය ක්‍රියාත්මක කරන ව්‍යාපෘතියක් කිරීමට තරම් කාර්ය ප්‍රවාහය ජනප්‍රිය වී ඇත: git-flow

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

සරල කාර්ය ප්‍රවාහය

දැන් අපි ඔබට නව අංගයක් මත වැඩ කිරීමට හෝ මොඩියුලයක් නැවත සකස් කිරීමට අවශ්‍ය යැයි කියමු. ඔබට නව ශාඛාවක් නිර්මාණය කළ හැකිය, අපට එය “විශේෂාංග” ශාඛාවක් ලෙස හැඳින්විය හැකිය, එය යම් කාලයක් ගතවනු ඇති අතර යම් කේතයක් බිඳ දැමිය හැකිය. ඔබේ අංගය "ප්‍රමාණවත් තරම් ස්ථාවර" වූ පසු එය නිෂ්පාදනයට "සමීප" කිරීමට අවශ්‍ය වූ පසු, ඔබ ඔබේ විශේෂාංග ශාඛාව සංවර්ධනය සඳහා ඒකාබද්ධ කරයි. ඒකාබද්ධ වීමෙන් පසු සියලු දෝෂ නිරාකරණය කර ඔබේ කේතය සියලු පරීක්ෂණ සමත් වූ විට, ඔබ ඔබේ වෙනස්කම් මාස්ටර් වෙත තල්ලු කරයි.

මෙම සියලු ක්‍රියාදාමය අතරතුර, ඔබ භයානක ආරක්ෂක දෝෂයක් සොයා ගනී, එය වහාම නිවැරදි කළ යුතුය. සාමාන්‍ය "සංවර්ධිත" ශාඛාවට වඩා වේගයෙන් නැවත නිෂ්පාදනයට තල්ලු කරන වෙනස්කම් සිදු කරන හොට්ෆික්ස් නම් ශාඛාවක් ඔබට තිබිය හැකිය.

මෙන්න ඔබට මෙම අංගය / හොට්ෆික්ස් / සංවර්ධනය / නිෂ්පාදන කාර්ය ප්‍රවාහය කෙබඳු විය හැකිද යන්න පිළිබඳ නිදර්ශනයක් ඇත (බ්ලොග් සටහනෙහි හොඳින් විස්තර කර ඇති අතර, මම නැවත කියමි, බ්ලොග් සටහන සමස්ත ක්‍රියාවලියම විස්තරාත්මකව හා මට වඩා හොඳට පැහැදිලි කරයි .

වැඩ ප්‍රවාහ උදාහරණය


මම නවක වදයෙක් වන අතර, මෙම රූප සටහන මට වඩාත් ව්‍යාකූල කරයි.
finnw

මොන එකද, පළමුවැන්නද, අන්තිම එකද? මට මෙම ලිපිය දීර් long කිරීමට අවශ්‍ය නොවීය, නමුත් පසුව රූප සටහන් දෙකම පිළිබඳ කුඩා පැහැදිලි කිරීමක් එක් කරමි.
අළුවුඩ්ස්

සම්පූර්ණ ලිපිය කියවන්න. මෙම රූප සටහනෙන් මා ව්‍යාකූල වී ඇත, නමුත් බ්ලොග් සටහන ඉතා හොඳින් ලියා ඇත nvie.com/posts/a-successful-git-branching-model
Felipe Sabino

දැන් හොඳද? මට අවශ්‍ය වූයේ දළ දළ විශ්ලේෂණයක් පමණක් මිස මුළු බ්ලොග්
සටහනම

39

පී.ජේ හයිට්ගේ ලිපියේ පිටපතක් මෙන්න, එය තවදුරටත් ලබා ගත නොහැකි බැවින්:

Git අමාරු නැහැ

2008 නොවැම්බර් 23

උපසිරැසි වලට වඩා Git භාවිතා කළ යුත්තේ ඇයිදැයි අපි මිනිසුන්ට පැවසූ විට, යන්නට යන රේඛාව නම්, “Git විසින් උපසිරැසි වලට වඩා උපසිරැසිය වඩා හොඳය, නමුත් එය ඊට වඩා බොහෝ දේ කරයි.”

“තවත් බොහෝ දේ” සමන්විත වන්නේ Git සැබවින්ම බැබළෙන දේවල් සමූහයකින් වන නමුත් එය වෙනත් SCM හි Subversion වැනි අයගෙන් සෑහීමට පත් විය හැකිය.

එයින් කියැවෙන්නේ, ඔබ සංක්‍රාන්තිය සිදුකරන අතරතුර ඔබ උපසිරැසි භාවිතා කරන ආකාරයටම Git භාවිතා කිරීමෙන් ඔබව වළක්වන කිසිවක් නැත.

ඔබ අවශ්‍ය මෘදුකාංගය ස්ථාපනය කර දුරස්ථ ගබඩාවක් කොතැනක හෝ තිබේ යැයි උපකල්පනය කළහොත්, ඔබ කේතය අල්ලාගෙන ඔබගේ වෙනස් කිරීම් උපසිරැසි සමඟ පසුපසට තල්ලු කරන්නේ මේ ආකාරයට ය:

$ svn checkout svn://foo.googlecode.com/svn/trunk foo
# make your changes
$ svn commit -m "my first commit"

ඔබ එය Git හි කරන්නේ කෙසේද:

$ git clone git@github.com:pjhyett/foo.git
# make your changes
$ git commit -a -m "my first commit"
$ git push

Git හි එය සිදු කිරීමට තවත් එක් විධානයක්. එම අතිරේක විධානයට විශාල ඇඟවුම් ඇත, නමුත් මෙම ලිපියේ අරමුණු සඳහා, අපි කතා කරන්නේ එපමණකි, එක් අතිරේක විධානයක්.

බලන්න, එය එතරම් අපහසු නැත.

යාවත්කාලීන කිරීම: Git svn updateහා සසඳන විට ඔබේ දේශීය පිටපත උපසිරැසි මඟින් යාවත්කාලීන කිරීමට සමාන බව සඳහන් නොකිරීමට මම කැමැත්තෙමි git pull. අවස්ථා දෙකේදීම එක් විධානයක් පමණි.


පළමු උදාහරණයේ දී ඔබ සාපේක්ෂ මාර්ගයකට ./fooපිවිසෙන බව මට පෙනේ, නමුත් ලබා ගැනීමේ ක්ලෝනය සඳහා මාර්ගයක් නිශ්චිතව දක්වා නැත, ඔබ කොතැනට යනවාද?
ජේ ඩී අයිසැක්ස්

33

Git ස්ථාපනය කරන්නේ කෙසේද

වින්ඩෝස් මත:

Msysgit ස්ථාපනය කරන්න

බාගැනීම් කිහිපයක් තිබේ:

  • Git: පහත දැක්වෙන වෙනත් විකල්පයන්ගෙන් එකක් ඔබට විශේෂයෙන් අවශ්‍ය නොවන්නේ නම් මෙය භාවිතා කරන්න.
  • PortableGit: ඔබට එම පරිගණකයේ ස්ථාපනය නොකර පරිගණකයක් මත Git ධාවනය කිරීමට අවශ්‍ය නම් මෙය භාවිතා කරන්න (උදා: USB ධාවකයකින් Git ධාවනය කිරීම)
  • msysGit: ඔබට Git සංවර්ධනය කිරීමට අවශ්‍ය නම් මෙය භාවිතා කරන්න. ඔබේ මූලාශ්‍ර කේතය සඳහා ඔබට Git භාවිතා කිරීමට අවශ්‍ය නම් , නමුත් Git හි ප්‍රභව කේතය සංස්කරණය කිරීමට ඔබට අවශ්‍ය නැතිනම් ඔබට මෙය අවශ්‍ය නොවේ.

මෙය සිග්වින් බාෂ් කවචයක් ද ස්ථාපනය කරයි, එබැවින් ඔබට gitවඩාත් හොඳ කවචයක (cmd.exe ට වඩා) භාවිතා කළ හැකි අතර git-gui ද ඇතුළත් වේ ( git guiවිධානය හරහා හෝ Start > All Programs > Gitමෙනුව හරහා ප්‍රවේශ විය හැකිය )

මැක් ඕඑස් එක්ස්

Git-osx-installer භාවිතා කරන්න , නැතහොත් ඔබට ප්‍රභවයෙන්ද ස්ථාපනය කළ හැකිය

පැකේජ කළමනාකරුවෙකු හරහා

gitඔබේ දේශීය පැකේජ කළමනාකරු භාවිතා කර ස්ථාපනය කරන්න. උදාහරණයක් ලෙස, ඩේබියන් (හෝ උබුන්ටු) මත:

apt-get install git-core

හෝ මැක්පෝර්ට්ස් හරහා මැක් ඕඑස් එක්ස් හි :

sudo port install git-core+bash_completion+doc

… හෝ ෆින්ක්:

fink install git

… හෝ හෝම්බ rew :

brew install git

ෆෙඩෝරා වැනි Red Hat පදනම් කරගත් බෙදාහැරීම් මත:

yum install git

සිග්වින් හි Git පැකේජය "devel" කොටස යටතේ සොයාගත හැකිය

ප්‍රභවයෙන් (මැක් ඕඑස් එක්ස් / ලිනක්ස් / බීඑස්ඩී / යනාදිය)

මැක් ඕඑස් එක්ස් හි, ඔබ සංවර්ධක මෙවලම් ස්ථාපනය කර ඇත්නම්, ඔබට ඉතා පහසුවෙන් ප්‍රභවයෙන් Git සම්පාදනය කළ හැකිය. Http://git-scm.com/ වෙතින් .tar.bzහෝ Git හි නවතම අනුවාදය බාගත කර එය උපුටා ගන්න (Finder හි දෙවරක් ක්ලික් කරන්න).tar.gz

ලිනක්ස් / බීඑස්ඩී / යනාදිය මත. එය බොහෝ දුරට සමාන විය යුතුය. උදාහරණයක් ලෙස, ඩේබියන් (සහ උබුන්ටු) හි, ඔබ build-essentialහරහා පැකේජය ස්ථාපනය කළ aptයුතුය.

ටර්මිනලයකදී, cdඔබ ලිපිගොනු උපුටා ගත් ස්ථානයට (ධාවනය cd ~/Downloads/git*/වැඩ කළ යුතුය), පසුව ධාවනය කරන්න ..

./configure && make && sudo make install

මෙය පෙරනිමි ස්ථානයට Git ස්ථාපනය කරනු ඇත ( /usr/local- එසේ gitවනු ඇත/usr/local/bin/git )

එය ඔබගේ මුරපදය ඇතුළත් කිරීමට ඔබෙන් විමසනු ඇත (සඳහා sudo), මෙය /usr/local/ඩිරෙක්ටරියට ලිවිය හැකි බැවින් එය ප්‍රවේශ විය හැක්කේ "root" පරිශීලකයාට පමණි, එබැවින් sudo අවශ්‍ය වේ!

ඔබ එය වෙනම තැනක ස්ථාපනය කිරීමට අදහස් කරන්නේ නම් (එබැවින් Git ගේ ගොනු වෙනත් මෙවලම් සමඟ මිශ්‍ර නොවේ), --prefixවින්‍යාස කිරීමේ විධානය සමඟ භාවිතා කරන්න:

./configure --prefix=/usr/local/gitpath
make
sudo make install

මෙය gitද්විමය ස්ථාපනය කරනු ඇත /usr/local/bin/gitpath/bin/git- එබැවින් ඔබ සෑම අවස්ථාවකදීම එය ටයිප් කිරීමට අවශ්‍ය නැත $PATH, පහත දැක්වෙන පේළිය ඔබේ තුළට එක් කිරීමෙන් ඔබ එකතු කළ යුතුය ~/.profile:

export PATH="${PATH}:/usr/local/bin/gitpath/bin/"

ඔබට සුඩෝ ප්‍රවේශය නොමැති නම්, ඔබට --prefix=/Users/myusername/binඔබේ නිවාස නාමාවලිය භාවිතා කර ස්ථාපනය කළ හැකිය . එකතු කිරීමට මතක තබා ගන්න~/bin/ කිරීමට$PATH

X-git-update-to-latest-version ස්ක්‍රිප්ට් මේ බොහෝ දේ ස්වයංක්‍රීය කරයි:

මෙම ස්ක්‍රිප්ට් එක මගේ දේශීය ක්ලෝනය වන git repo (localy at ~/work/track/git) යාවත්කාලීන කරයි , පසුව වින්‍යාස කිරීම, ස්ථාපනය කිරීම (at /usr/local/git- git describe) සහ /usr/local/gitසිම්ලින්ක් යාවත්කාලීන කරයි .

මේ ආකාරයෙන්, මට මගේ තුළ තිබිය හැකි /usr/local/git/binඅතර PATHමම සෑම විටම නවතම අනුවාදය භාවිතා කරමි.

මෙම පිටපතෙහි නවතම අනුවාදය ද man පිටු ස්ථාපනය කරයි. නාමාවලිය MANPATHඇතුළත් කිරීම සඳහා ඔබ විසින් වෙනස් කළ යුතුය /usr/local/git/share/man.


5
ෆෙඩෝරා මෙහෙයුම් පද්ධතිය: yum install git. GUI ධාවනය සඳහා yum install git-gui.
ක්‍රිස්ටියන් කියුපිටු

2
මැක් මත,sudo port install git-core+bash_completion+doc
තනි

මම මැක් සඳහා ෆින්ක් බාගත කළෙමි, නමුත් ෆින්ක් ඉන්ස්ටෝල් ගිට් ධාවනය කිරීමෙන් මට දෝෂයක් ඇතිවිය: "අසාර්ථකයි: 'ගිට්' පිරිවිතර සඳහා පැකේජයක් හමු නොවීය!"
quano

එය කිරීමට හැකි විය යුතුය @quano, pdb.finkproject.org/pdb/package.php/git - Fink නිසි යාවත්කාලීන කරන පරීක්ෂා - මම ධාවනය හිතන්නේ fink self-updateඋපකාර කළ යුතු
dbr

32

Git Reset

ඔබ අදින්න කියා පවසන්න, එය ඔබේ කේතයට ඒකාබද්ධ කර ඔබ එයට අකමැති බව තීරණය කරන්න. Git-log, හෝ tig භාවිතා කර ඔබට ආපසු යාමට අවශ්‍ය ඕනෑම තැනක හෑෂ් සොයා ගන්න (බොහෝ විට අදින්න / ඒකාබද්ධ කිරීමට පෙර ඔබගේ අවසාන කැපවීම) හැෂ් පිටපත් කර කරන්න:

# Revert to a previous commit by hash:
git-reset --hard <hash>

හැෂ් වෙනුවට, ඔබට පෙර කැපවීම සඳහා කෙටිමඟක් ලෙස HEAD use භාවිතා කළ හැකිය .

# Revert to previous commit:
git-reset --hard HEAD^

4
වෙනත් බොහෝ මධ්‍යගත අනුවාද පාලන පද්ධතිවල ප්‍රතිවර්තනයකට මෙය ප්‍රතිසමයක් වේ.
ජෙරමි වෝල්

"it git-reset --hard HEAD ^" යනු ප්‍රධානියාගේ මවුපියන් සඳහා කෙටිකාලීන විය යුතුය (එනම් අවසන් කැපවීමට පෙර පැවති තත්වය).
බෙන් පේජ්

6
හුදෙක් සරල පැරණි git resetවිය යුතු unstage හදිසි අනතුරුgit add
slf

31

හවුල් කණ්ඩායම් ගබඩාවක් ඔබ සකසන්නේ කෙසේද?

පිහිටුවීමට කරන ආකාරය සාමාන්ය ගබඩාව විස්තර මෙහි - ඒත් ඔයා කොහොමද හැමෝටම සිට හා අදින්න හා තල්ලුව හැකි කණ්ඩායම ගබඩාව ස්ථාපිත කරන්නේ කෙසේද?

හවුල් NFS ගොනු පද්ධතියක් භාවිතා කිරීම

ඔබේ කණ්ඩායමට දැනටමත් හවුල් කණ්ඩායම් සාමාජිකත්වයක් ඇති බව උපකල්පනය කිරීම භාවිතා කළ හැකිය.

mkdir /your/share/folder/project.git
cd /your/share/folder/project.git
newgrp yourteamgroup # if necessary
git init --bare --shared

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

cd your/local/workspace/project
git remote add origin /your/share/folder/project.git
git push origin master

අනෙක් අයට දැන් මෙය ක්ලෝන කර වැඩ ආරම්භ කළ හැකිය:

cd your/local/workspace
git clone /your/share/folder/project.git

SSH භාවිතා කිරීම

ඉලක්ක සේවාදායකයේ පරිශීලක ගිණුමක් සකසන්න. ඔබ මුරපදයක් නොමැති ගිණුමක්, මුරපදයක් සහිත ගිණුමක් හෝ භාවිතා කරන්නේද යන්න authorized_keysඔබගේ අවශ්‍ය ආරක්‍ෂිත මට්ටම මත රඳා පවතී. තවත් තොරතුරු සඳහා SSH හරහා Git වින්‍යාස කිරීම දෙස බලන්න .

මෙම හවුල් ගබඩාවට ප්‍රවේශ වීම සඳහා සියලුම සංවර්ධකයින් එකම ගිණුමක් භාවිතා කරන්නේ --sharedනම්, ඉහත විකල්පය භාවිතා කිරීමට ඔබට අවශ්‍ය නොවේ .

ඉහත ආකාරයටම නිධිය ආරම්භ කිරීමෙන් පසුව, ඔබ මේ ආකාරයට ආරම්භක තල්ලුව කරයි:

cd your/local/workspace/project
git remote add origin user@server:/path/to/project.git
git push origin master

ඉහත සඳහන් සමානකම් බලන්න? මීට අමතරව සිදුවිය හැකි එකම දෙය වන්නේ ගිණුමට මුරපදයක් තිබේ නම් SSH මුරපදයක් ඉල්ලා සිටීමයි. මුරපදයක් නොමැති ගිණුමකින් ඔබට මෙම විමසුම ලැබුනේ නම් SSH සේවාදායකය අක්‍රීය කර ඇත PermitEmptyPasswords.

ක්ලෝනකරණය දැන් මේ වගේ ය:

cd your/local/workspace
git clone user@server:/path/to/project.git

එන්එෆ්එස් හැරුණු විට - ඔබ ssh හරහා වැඩ කිරීමට git සේවාදායකය සකසන්නේ කෙසේද? - github.com හි කුඩා පරිමාණ උදාහරණයක් මෙන්?
ඩැෆීඩ් රීස්

අදාළ නාමාවලිවල කණ්ඩායම් ඇලෙන සුළු බිට් එකක් තබා ගැනීම අවශ්‍යද, නැතහොත් ඒ සියල්ල ගැන git සැලකිලිමත් වේද? දෙවැන්න නම්, යුනික්ස් ලිපිගොනු සඳහා වන අවසරයන් මත කුමන කණ්ඩායම භාවිතා කළ යුතු දැයි git දන්නේ කෙසේද?
නෝමන් රැම්සි

ඉල්ලීම පරිදි මම SSH හි කොටසක් එකතු කර ඇත්තෙමි. සියළුම සංවර්ධකයින්ට හවුල් කණ්ඩායම ඔවුන්ගේ ප්‍රාථමික කණ්ඩායම ලෙස නොමැති නම් ඇලෙන සුළු බිට් අවශ්‍ය වේ. ඕනෑම පරිශීලකයෙකුට වෙනත් ප්‍රාථමික කණ්ඩායමක් සිටී නම් ඔවුන් පෙරනිමියෙන් මෙම කණ්ඩායම් හිමිකම සමඟ ලිපිගොනු නිර්මාණය කරනු ඇත. මෙය සිදුවන්නේ git ට පහළින් වන අතර එමඟින් සෑම විටම git පාලනය යටතේ නොමැත.
අස්ගීර් එස්. නිල්සන්

කුමන git repo-config core.sharedRepository කණ්ඩායම ප්‍රයෝජනවත් වන්නේ?
systempuntoout

28

git statusඔබේ මිතුරා, එය නිතර භාවිතා කරන්න. වැනි ප්‍රශ්නවලට පිළිතුරු දීමට හොඳයි:

  • එම විධානය කළේ කුමක්ද?
  • මම සිටින්නේ කුමන ශාඛාවේද?
  • මා කුමන වෙනස්කම් කිරීමට සූදානම්ද, මට කිසිවක් අමතක වී තිබේද?
  • මම අවසාන වරට මෙම ව්‍යාපෘතියේ (දින, සති, හෝ සමහර විට මාස ගණනකට පෙර) වැඩ කළ දෙයක් මධ්‍යයේද?

කිව්වොත් මෙන් නොව, svn status, git statusද විශාල ව්යාපෘති පිළිබඳ සමීප-ක්ෂණිකව දිවෙන. නිතර නිතර භාවිතා කිරීමට git ඉගෙන ගන්නා අතරම, සිදුවෙමින් පවතින දේ පිළිබඳ මගේ මානසික ආකෘතිය නිවැරදිද යන්න තහවුරු කර ගැනීම සඳහා එය බොහෝ විට මට සහනයක් විය. දැන් මම බොහෝ විට එය භාවිතා කරන්නේ මගේ අන්තිම කැපවීමෙන් පසුව මා වෙනස් කළ දේ මට මතක් කර දීමටයි.

නිසැකවම, ඔබේ .gitignore ඉතා වින්‍යාසගත කර ඇත්නම් එය වඩාත් ප්‍රයෝජනවත් වේ.


27

වෙනස්කම් කරන්න

ඔබ ගොනුවක් සංස්කරණය කළ පසු, ඔබගේ වෙනස්කම් git වෙත යොමු කළ යුතුය. ඔබ මෙම විධානය ක්‍රියාත්මක කරන විට එය බැඳීමේ පණිවිඩයක් ඉල්ලනු ඇත - එය ඔබ වෙනස් කළ දේ සෑම කෙනෙකුටම පවසන සරල පෙළකි.

$ git commit source/main.c

ඩිරෙක්ටරියේ main.c ගොනුව සිදු කරනු ඇත ./source/

$ git commit -a # the -a flag pulls in all modified files

වෙනස් කරන ලද සියලුම ගොනු සිදු කරනු ඇත (නමුත් නව ලිපිගොනු නොවේ, ඒවා git-add සමඟ දර්ශකයට එකතු කළ යුතුය). ඔබට සමහර ලිපිගොනු පමණක් කිරීමට අවශ්‍ය නම්, ඔබට ඒවා පළමුව git-add සමඟ වේදිකා ගත කළ යුතු අතර පසුව -a ධජය නොමැතිව කැපවිය යුතුය.

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

$ git push <remote> <branch> # push new commits to the <branch> on the <remote> repository

සීවීඑස් හෝ එස්වීඑන් වෙතින් පැමිණෙන අයෙකුට මෙය වෙනසක් වන්නේ මධ්‍යම ගබඩාවට කැපවීමට දැන් පියවර දෙකක් අවශ්‍ය වන බැවිනි.


27

ඔබ ශාඛා කරන්නේ කෙසේද?

Git ගබඩාවක පෙරනිමි ශාඛාව ලෙස හැඳින්වේ master.

නව ශාඛා භාවිතයක් නිර්මාණය කිරීම සඳහා

git branch <branch-name>

වත්මන් නිධිය වර්ගයේ සියලුම ශාඛා ලැයිස්තුවක් බැලීමට

git branch

ඔබට වෙනත් ශාඛාවකට මාරුවීමට අවශ්‍ය නම් ඔබට භාවිතා කළ හැකිය

git checkout <branch-name>

නව ශාඛාවක් නිර්මාණය කර එක් පියවරකින් එය වෙත මාරු වීම

git checkout -b <branch-name>

ශාඛාවක් මකා දැමීමට, භාවිතා කරන්න

git branch -d <branch-name>

වත්මන් ශාඛාවේ වෙනස්කම් සමඟ ශාඛාවක් නිර්මාණය කිරීම සඳහා කරන්න

git stash
git stash branch <branch-name>

11
ඔබ කෙටිමං git checkout -b <branch-name> ගැන සඳහන් කළ යුතු අතර එය ශාඛාවක් නිර්මාණය කර එක් පියවරක් වෙත මාරු වේ. ආරම්භක සහ දියුණු git භාවිතා කරන්නෙකු සඳහා එය වඩාත් පොදු භාවිත අවස්ථාව විය හැකිය.
ජෙරමි වෝල්

21

නවතම කේතය ලබා ගැනීම

$ git pull <remote> <branch> # fetches the code and merges it into 
                             # your working directory
$ git fetch <remote> <branch> # fetches the code but does not merge
                              # it into your working directory

$ git pull --tag <remote> <branch> # same as above but fetch tags as well
$ git fetch --tag <remote> <branch> # you get the idea

දුරස්ථ ගබඩාවෙන් කේතයේ නවතම පිටපත ලබා ගැනීම සඳහා එය සෑම අවස්ථාවක්ම ආවරණය කරයි.



18

Git Magic ඔබට අවශ්‍ය වන්නේ එයයි. සහතිකයි හෝ ඔබේ මුදල් ආපසු!


14
සුසුම්ලන්න, මට මගේ මුදල් ආපසු අවශ්‍යයි. අසම්පූර්ණ නිබන්ධනයක් (GitMagic) == වැඩ කරන පැය ගණන, කිසිසේත්ම නොමිලේ නොවන දෝෂ සහිත මෘදුකාංග (msysGit)
SamGoody

16

ඔබ ශාඛා ඒකාබද්ධ කරන්නේ කෙසේද?

ඔබට ශාඛාවක් ඒකාබද්ධ කිරීමට අවශ්‍ය නම් (උදා master. release), ඔබ ඒකාබද්ධ කිරීමට කැමති ඉලක්ක ශාඛාව ඔබේ වර්තමාන ශාඛාව බවට වග බලා ගන්න (භාවිතා කිරීමට git branchහෝ git statusඔබේ වර්තමාන ශාඛාව බැලීමට).

ඉන්පසු භාවිතා කරන්න

git merge master

( masterවත්මන් ශාඛාව සමඟ ඒකාබද්ධ කිරීමට ඔබට අවශ්‍ය ශාඛාවේ නම කොහේද ).

කිසියම් ගැටුම් තිබේ නම්, ඔබට භාවිතා කළ හැකිය

git diff

ඉතිරිව ඇති ගැටුම් දැකීමට ඔබ විසඳිය යුතුය.


2
ඔබගේ ප්‍රියතම මෙවලම (gvimdiff, kdiff3 හෝ තවත් සමහරක්) සමඟ තුන් ආකාරයකින් වෙනස් වන git mergetool ඇත
ඩේව් වොග්ට්

16

Git Internals ද ඉතා ප්‍රයෝජනවත් බව මම සොයාගෙන ඇත. එය ලියා ඇත්තේ ස්කොට් චකොන් (Pro Git හි කතුවරයා සහ Git ප්‍රජා පොතේ නඩත්තු කරන්නා) විසිනි. Git Internals ගැන මා කැමති දෙය නම් එය මුලින් සංකල්ප හා පසුව විධාන කෙරෙහි අවධානය යොමු කරන අතර එය කුඩා පිටු 100 ක් වීම ඉක්මනින් ජීර්ණය කළ හැකි වීමයි.



12

දුරස්ථ ශාඛා නිරීක්ෂණය කරන්නේ කෙසේද

ඔබ ඔබේ දේශීය ගබඩාවෙන් ක්ලෝන කළ දුරස්ථ ගබඩාවක් ඇතැයි උපකල්පනය කර එම දුරස්ථ ගබඩාවේ 'සම_බ්‍රාන්ච්' නමින් ශාඛාවක් ඇතැයි උපකල්පනය කරමින්, එය දේශීයව නිරීක්ෂණය කරන්නේ කෙසේද:

# list remote branches
git branch -r

# start tracking one remote branch
git branch --track some_branch origin/some_branch

# change to the branch locally
git checkout some_branch

# make changes and commit them locally
....

# push your changes to the remote repository:
git push

ඔබ දේශීය ශාඛාවක් සාදන විට git 1.7 දුරස්ථ ශාඛා ස්වයංක්‍රීයව නිරීක්ෂණය වන බව පෙනේ. මෙම හැසිරීම ආරම්භ වූයේ කුමන අනුවාදයෙන්දැයි මම නොදනිමි.
ඩොපල්ගන්ගර්

ඇත්ත වශයෙන්ම, ඔබට භාවිතා කිරීමෙන් සියලුම දුරස්ථ ශාඛා ලැයිස්තු ගත කළ හැකියgit remote show REMOTENAME
ෆෙලිපේ සබිනෝ

11

Git ක්‍රියා කරන ආකාරය අවබෝධ කර ගැනීම සඳහා නියම හොඳ පත්‍රිකාවක් වන්නේ Git Parable ය . ඉතා නිර්දේශිතයි!


10

ගොනුවක සංශෝධන දෙකක් හෝ ඔබගේ වර්තමාන ගොනුව හා පෙර සංශෝධනයක් සංසන්දනය කරන්නේ කෙසේද?

සංසන්දනය විධානය git diff.

ගොනුවක සංශෝධන 2 සංසන්දනය කිරීම සඳහා:

$ git diff <commit1> <commit2> <file_name>

එය commit2 ට එරෙහිව commit1 ට වෙනස් වේ; ඔබ ඇණවුම වෙනස් කරන්නේ නම්, ගොනු අනෙක් පැත්තෙන් වෙනස් වේ, එය ඔබ අපේක්ෂා කරන දේ නොවිය හැකිය ...

වර්තමාන වේදිකා ගොනුව නිධිය සමඟ සංසන්දනය කිරීම සඳහා:

$ git diff --staged <file_name>

වර්තමාන අස්ථායී ගොනුව නිධිය සමඟ සංසන්දනය කිරීම සඳහා:

$ git diff <file_name>

9

ඇයි තවත් කොහොමද? ආරම්භ කිරීමට පරිපූර්ණ වන git guide වැනි හොඳ ඒවා අන්තර්ජාලයේ ඇත . එයට git පොත ඇතුළු හොඳ සබැඳි ඇතකෙනෙකුට දායක විය හැකි (git හබ් හි සත්කාරකත්වය) සහ මෙම සාමූහික කාර්යය සඳහා පරිපූර්ණ වන .

Stackoverflow හි, මම ඔබේ ප්‍රියතම උපක්‍රම දැකීමට කැමැත්තෙමි!

මා විසින් මෑතකදී සොයාගත් පතල, මෙහිgit stash විස්තර කර ඇති අතර, එමඟින් ඔබේ වර්තමාන රැකියාව සුරැකීමට සහ වෙනත් ශාඛාවකට යාමට ඔබට හැකියාව ලැබේ

සංස්කරණය කරන්න: පෙර පෝස්ට් එක මෙන්, ඔබ විකියක් ලෙස පෝස්ට් සහිත ස්ටැක් ඕවර්ලෝ ආකෘතියට සැබවින්ම කැමති නම් මම මෙම පිළිතුර මකා දමමි


නැත, මකන්න එපා. ඔබේ පිළිතුර පරිපූර්ණ ලෙස වලංගු වේ - අනෙක් අය හොඳ සම්පත් වෙත යොමු කිරීම නරක දෙයක් නොවේ. මෙහි ලැයිස්තුගත කර ඇති වඩාත් සුලභ මෙහෙයුම් වලට මම කැමතියි, නමුත් එය ටිකක් වැඩක් වන අතර අනෙක් අය එය කරනු ඇතැයි මම අපේක්ෂා නොකරමි. මම ඉගෙන ගන්නා පරිදි කාලයත් සමඟ එය කරන්නෙමි, මෙය මට යොමු කිරීමක් වනු ඇත.
ඇඩම් ඩේවිස්

9

කොන්සෝලය UI - ටයිග්

ස්ථාපනය:

apt-get install tig

භාවිතය

Git repo එකක සිටියදී, අන්තර්ක්‍රියාකාරී ලොගයක් බැලීමට 'tig' ටයිප් කරන්න, ඒ පිළිබඳ වැඩි විස්තර බැලීමට ඕනෑම ලොගයක 'enter' යතුර ඔබන්න. h උදව් සඳහා, එය මූලික ක්‍රියාකාරිත්වය ලැයිස්තුගත කරයි.

ට්‍රිවියා

"ටයිග්" යනු "ගිට්" පසුපසට ය.


"කොන්සෝලය" සහ "චිත්‍රක" ටිකක් .. පරස්පර විරෝධී බැවින් එය "කොන්සෝලය UI" විය යුතු නොවේද?
dbr

එය git-log ට වඩා බොහෝ චිත්‍රකයි ... කෙසේ වෙතත්, එය බොහෝ අතුරු මුහුණත් වේ ...
ඩීන්

8

දුරස්ථ ගබඩාවක ශාඛාවක් නිර්මාණය කරන්නේ කෙසේද?

ඔබ ඔබේ දුරස්ථ ගබඩාව තනි දුරස්ථ ගබඩාවකින් ක්ලෝන කර ඇතැයි උපකල්පනය කරන්න.

# create a new branch locally
git branch name_of_branch
git checkout name_of_branch
# edit/add/remove files    
# ... 
# Commit your changes locally
git add fileName
git commit -m Message
# push changes and new branch to remote repository:
git push origin name_of_branch:name_of_branch

11
name_of_branch: name_of_branch ඇයි?
සීන් ඔසේවා

ඔව් ඇයි? මා දන්නා තරමින් ඔබට අවශ්‍ය git push origin name_of_branchවන්නේ ශාඛාව ඔබේ දුරස්ථව දැනටමත් නිර්මාණය වනු ඇත
ෆෙලිපේ සබිනෝ

පළමුවැන්න name_of_branchදේශීය නමයි, දෙවැන්න (අපේක්ෂිත) දුරස්ථ ශාඛා නාමය, එබැවින් local_name_of_branch:remote_name_of_branchඔබට නම් වෙනස් වීමට අවශ්‍ය නම් එය විය හැකිය . ඔබට ඒවා එකම ආකාරයකින් අවශ්‍ය නම්, ඔබ තවමත් එය මේ ආකාරයට සඳහන් කළ යුතුය b / c git ඔබ එය නොකියන්නේ නම් නම සමාන විය යුතු යැයි උපකල්පනය නොකරයි (එසේ කිරීමට වෙනත් ක්‍රම ද ඇත, කෙසේ වෙතත්)
ජොනී

8

මම නිල Git නිබන්ධනය සමඟ ආරම්භ කළෙමි . ආරම්භකයින් සඳහා එය ප්‍රමාණවත් යැයි මම සිතමි (ඔබේ නිර්වචනය අනුව මම තවමත් ආරම්භකයකු විය! මම යන්තම් Makefiles ග්‍රහණය කරගත්තෙමි, මම Apache Subversion යනාදිය සමඟ මඳක් ක්‍රීඩා කර ඇත).


8

දුරස්ථ ගබඩාවක ශාඛාවක් මකා දැමිය හැක්කේ කෙසේද?

ඔබගේ දුරස්ථ භාවිතයෙන් තල්ලුවක් සිදු කරන්න :ශාඛාවේ නමට පෙර

git push origin :mybranchname

පැවැත්ම origin ඔබගේ දුරස්ථ නම සහmybranchname මකා ගැන ශාඛා නම

http://help.github.com/remotes/


7

වෙනස්කම් තල්ලු කර අදින්න

සරල ආකාරයකින්, කරන්න git pushසහ කරන්නgit pull . වෙනස්කම් ඒකාබද්ධ කර ඇති අතර ගැටුම් ගැට්ටුවක් ඇත්නම් එය ඔබට දන්වනු ඇති අතර ඔබට එය අතින් විසඳා ගත හැකිය.

ඔබ ප්‍රථමයෙන් දුරස්ථ ගබඩාවකට තල්ලු වන විට ඔබ කළ යුත්තේ git push origin master(ප්‍රධාන ශාඛාව ප්‍රධාන ශාඛාවයි). එතැන් සිට ඔබ එය කරන්නgit push .

සමඟ ටැග් තල්ලු කරන්න git push --tags.


7

කේතය පරීක්ෂා කිරීම

පළමුවෙන්ම හිස් ඩිර් වෙත ගොස්, එය ගබඩාවක් බවට පත් කිරීම සඳහා "git init" භාවිතා කරන්න, ඉන්පසු දුරස්ථ ගබඩාව ඔබේම දෑට ක්ලෝන කරන්න.

git clone user@host.com:/dir/to/repo

ඔබ මුලින් කොතැනින් ක්ලෝන කළත් පෙරනිමියෙන් "git pull" අදින්නේය.


7
මම හිතන්නේ ක්ලෝනය මඟින් මුලින් පියවර ක්‍රියාත්මක කිරීමේ අවශ්‍යතාවය ඉවත් කිරීම සඳහා ආරම්භක පියවර කරයි. git init ඇත්ත වශයෙන්ම බොහෝ විට පළමු නිධිය නිර්මාණය කිරීම සඳහා හෝ සම්මත ක්ලෝනයකට වඩා වෙනස් ලෙස සැකසීමට අවශ්‍ය දුරස්ථ දුරස්ථයන් සහිත විශේෂ වින්‍යාසයන් සඳහා ය.
ජෙරමි වෝල්

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.