शब्दावली
इस हैंडबुक में उपयोग किए गए Git और GitHub शब्दों के लिए संक्षिप्त परिभाषाएं। प्रत्येक उस अध्याय से वापस जुड़ता है जो इसे पूरी तरह सिखाता है।
branch
एक branch एक movable label है जो एक commit को point करता है, जिससे आप बाकी project से अलग एक history line पर काम कर सकते हैं। एक बनाना files को copy नहीं करता; यह एक pointer जोड़ता है जिसे आप इस पर commit करके स्वतंत्र रूप से move कर सकते हैं। Branches देखें।
clone
git clone <url> एक remote repository को अपनी मशीन पर copy करता है, इसके संपूर्ण history सहित, तुरंत काम करने के लिए तैयार। Your first repository देखें।
commit
एक commit आपके project का एक saved snapshot है: हर tracked file जैसा वह उस समय था, एक message जो बताता है कि क्या बदला, और इससे पहले के commit के लिए एक link। The commit loop देखें।
detached HEAD
Detached HEAD वह है जो तब होता है जब HEAD सीधे एक commit को point करता है, न कि एक branch को, आमतौर पर क्योंकि आपने एक specific commit को check out किया rather than एक branch name। वहां बनाए गए commits किसी भी branch के बाहर बैठते हैं, इसलिए एक बार जब आप दूर switch करते हैं तो उन्हें फिर से ढूंढना tricky हो सकता है। Branches देखें।
fetch
git fetch एक remote से नई commits को download करता है बिना उन्हें अपनी current branch में merge किए। यह केवल आपकी remote-tracking branches को update करता है, जैसे origin/main। Remotes and GitHub देखें।
fork
एक fork GitHub पर किसी और के repository की आपकी अपनी copy है, जब आप किसी project में contribute करना चाहते हैं जिस पर आपके पास push access नहीं है। The pull request flow देखें।
.gitignore
.gitignore एक file है जो उन चीजों के लिए patterns को list करती है जो Git को कभी भी track नहीं करनी चाहिए, जैसे dependency folders और secrets रखने वाली files। यह केवल उन files को प्रभावित करता है जो Git पहले से track नहीं कर रहा है। Ignoring files and good habits देखें।
HEAD
HEAD Git का pointer है जो भी commit की ओर आपके पास वर्तमान में checked out है। ज्यादातर समय यह आपकी current branch को point करता है, जो बदले में एक commit को point करता है। Branches देखें।
main
main एक repository की default branch के लिए conventional name है। पुराने repositories और tutorials कभी-कभी इसी role के लिए master का उपयोग करते हैं। Your first repository देखें।
merge
git merge <branch> किसी दूसरे branch की commits को आपकी current branch में लाता है, दोनों histories को एक में combine करता है। Merging and conflicts देखें।
merge conflict
एक merge conflict तब होता है जब दो branches एक file की same lines को change करते हैं और Git उन्हें automatically combine नहीं कर सकता। Git conflicting spot को <<<<<<<, =======, और >>>>>>> से mark करता है और आपके लिए सही result चुनने की प्रतीक्षा करता है। Merging and conflicts देखें।
origin
origin conventional name है जो Git उस remote को देता है जहां से repository को clone किया गया था। यह केवल एक name है; आप इसे freely rename कर सकते हैं या अन्य remotes जोड़ सकते हैं। Remotes and GitHub देखें।
pull
git pull एक remote से नई commits को fetch करता है और उन्हें एक step में अपनी current branch में merge करता है। Remotes and GitHub देखें।
pull request
एक pull request (PR) GitHub पर एक request है एक branch को दूसरे में merge करने के लिए, discussion और review के लिए merge से पहले खोला जाता है। The pull request flow देखें।
push
git push आपकी local commits को एक remote तक भेजता है, ताकि GitHub जैसा एक host, या एक collaborator, उन्हें देख सके। Remotes and GitHub देखें।
rebase
Rebasing आपकी branch की commits को एक different starting point पर replay करता है, एक merge commit की जगह history की एक सीधी line produce करता है। यह commit history को rewrite करता है, इसलिए इसे उन branches के लिए save रखें जिन पर किसी और ने पहले से काम नहीं किया है। Merging and conflicts देखें।
reflog
reflog एक local record है जहां HEAD हाल ही में point किया गया है, जिसमें commits शामिल हैं जिन तक एक branch अब नहीं पहुंचता है। यह है कि आप एक reset या एक deleted branch के बाद एक commit को कैसे recover करते हैं, जब तक Git इसे अंत में clean नहीं कर देता। Undoing things देखें।
refspec
एक refspec एक mapping है, एक remote की config में stored, जो git fetch को बताता है कि remote पर कौन सी branches को download करना है और उन्हें किन remote-tracking branches के तहत record करना है। Remotes and GitHub देखें।
remote
एक remote एक repository की एक copy है जो कहीं और hosted है, आमतौर पर एक URL पर पहुंचा जाता है। GitHub एक popular place है एक remote को host करने के लिए, GitLab और Bitbucket जैसे विकल्प के साथ। Remotes and GitHub देखें।
remote-tracking branch
एक remote-tracking branch, जैसे origin/main, आपके repository का local record है कि एक remote पर एक branch कहां पर था जब आपने अंतिम बार fetch या pull किया। यह अपने आप कभी update नहीं होता; केवल एक fetch या pull इसे move करता है। Remotes and GitHub देखें।
repository
एक repository, या repo, एक project folder है जो Git track कर रहा है, साथ ही इसमें बनाए गए हर commit की संपूर्ण history के साथ। Your first repository देखें।
reset
git reset आपकी current branch को एक different commit पर point करने के लिए move करता है। --soft staging area और working directory को untouched छोड़ देता है, --mixed staging area को भी clear करता है, और --hard working directory को overwrite भी करता है, uncommitted changes को discard करता है, इसलिए किसी भी branch पर इसके साथ सावधानी बरतें जिसे आपने पहले से share किया है। Undoing things देखें।
revert
git revert <commit> एक नया commit बनाता है जो एक पहले के changes को undo करता है, original commit को अपनी जगह पर छोड़ता है। यह किसी shared branch पर कुछ undo करने का safe तरीका है। Undoing things देखें।
staging area (index)
staging area, जिसे index भी कहा जाता है, वह जगह है जहां आप exactly line up करते हैं कि अगला commit क्या contain करेगा। git add changes को आपकी working directory से staging area में move करता है, और git commit जो staged है उसे save करता है। The commit loop देखें।
stash
git stash आपकी uncommitted changes को shelf करता है ताकि आप एक clean working directory के साथ tasks switch कर सकें, फिर उन्हें बाद में git stash pop के साथ वापस ला सकें। Undoing things देखें।
tag
एक tag एक fixed label है जो एक commit पर pinned है, अक्सर एक release को mark करते समय। एक branch के विपरीत, यह move नहीं होता जब नई commits बनाई जाती हैं। Branches देखें।
terminal
terminal वह app है जहां आप commands को text के रूप में type करते हैं, हर git command सहित, और जो वे print करते हैं उसे पढ़ते हैं। इसे command line भी कहा जाता है। Your first repository देखें।
upstream
एक branch का upstream वह remote branch है जिसे यह track करता है, आमतौर पर git push -u के साथ set किया जाता है। एक बार जब यह set हो जाता है, plain git push और git pull उस branch पर काम करते हैं बिना हर बार remote और branch को name किए। Remotes and GitHub देखें।
working directory
working directory actual folder है files का आपकी disk पर, वह जो आपके editor में खुला है। यह जो भी state आपकी files में हैं वह रखता है अभी, चाहे कोई भी staging या commit किया गया हो। The commit loop देखें।

