गाइड

GitHub Desktop: डाउनलोड, इंस्टॉल और बिना कमांड लाइन के Git कैसे चलाएँ

अपडेट किया गया: · Skillaria.Top

GitHub Desktop (गिटहब डेस्कटॉप) GitHub का मुफ़्त ऐप है, जो Windows और macOS पर चलता है और commit, push, pull, branch, merge और conflict जैसे मुख्य Git कामों को बटनों से करता है। इसे desktop.github.com से डाउनलोड करें, इंस्टॉल के बाद GitHub खाते से लॉगिन करें और repository को clone करें।

GitHub Desktop क्या है

GitHub Desktop एक मुफ़्त और ओपन-सोर्स ऐप है, जिसे GitHub Windows और macOS के लिए जारी करता है। यह ऐप खिड़की में बदली हुई फ़ाइलें, commit का इतिहास और branch दिखाता है, और Git के मुख्य कमांड बटन दबाते ही चला देता है। ऐप के अंदर Git की अपनी प्रति मौजूद है, इसलिए इसके लिए अलग से Git इंस्टॉल करना ज़रूरी नहीं है।

अगर "git desktop kya hai" का छोटा जवाब चाहिए: यह GitHub के लिए बनाया गया Git का ग्राफ़िकल क्लाइंट है। यह आपकी repositories को एक क्लिक में clone करता है, pull request बनाता है और checks की स्थिति दिखाता है। लेकिन यह HTTPS से जुड़ी किसी भी दूसरी remote repository, जैसे GitLab या अपने सर्वर, के साथ भी काम करता है।

नए विद्यार्थियों, डिज़ाइनरों, तकनीकी लेखकों और उन सभी के लिए यह अच्छा है जिन्हें "बदलाव करो, commit करो, भेजो" का सरल चक्र चाहिए। अनुभवी डेवलपर diff को आसानी से देखने और कुछ पंक्तियों को चुनकर commit करने के लिए इसका उपयोग करते हैं, जबकि जटिल कामों के लिए terminal।

GitHub Desktop कैसे डाउनलोड करें

आधिकारिक डाउनलोड पता desktop.github.com है। वेबसाइट आपका सिस्टम पहचानकर Windows के लिए installer और macOS के लिए archive दिखाती है। प्रोग्राम केवल वहीं से या GitHub पर repository desktop/desktop के releases पेज से लें। "github desktop download free" लिखकर मिलने वाली तीसरे पक्ष की साइटों की फ़ाइलों में कुछ भी हो सकता है।

Linux के लिए कोई आधिकारिक संस्करण नहीं है। समुदाय का बनाया एक fork (repository shiftkey/desktop) है, जिसमें .deb, .rpm और AppImage पैकेज मिलते हैं, लेकिन यह आधिकारिक build नहीं है। Linux पर terminal या आपके editor में बना Git client बेहतर विकल्प है।

Windows पर इंस्टॉल

  1. डाउनलोड की गई फ़ाइल GitHubDesktopSetup चलाएँ।
  2. Installer कुछ नहीं पूछता: ऐप मौजूदा उपयोगकर्ता की प्रोफ़ाइल में इंस्टॉल होता है और तुरंत खुल जाता है।
  3. Administrator अधिकार की ज़रूरत नहीं है, अपडेट भी ऐप खुद डाउनलोड कर लेता है।

किसी संगठन के कंप्यूटरों के लिए अलग MSI installer भी है, उसे GitHub Desktop के दस्तावेज़ में खोजें।

macOS पर इंस्टॉल

  1. डाउनलोड की गई zip फ़ाइल खोलें।
  2. GitHub Desktop को Applications फ़ोल्डर में खींचकर रखें।
  3. ऐप चलाएँ और इंटरनेट से आए प्रोग्राम को खोलने की पुष्टि करें।

Intel और Apple Silicon दोनों के लिए build मिलते हैं; वेबसाइट आमतौर पर सही build खुद सुझाती है। Homebrew से भी इंस्टॉल कर सकते हैं:

brew install --cask github

खाते में लॉगिन और पहली सेटिंग

पहली बार चलाने पर ऐप GitHub.com में लॉगिन करने को कहता है। लॉगिन बटन दबाएँ, browser खुलेगा, और वहाँ ऐप को खाते तक पहुँच की अनुमति दें। पासवर्ड ऐप में नहीं डालना होता, और two-factor authentication browser में सामान्य तरीके से होता है। GitHub Enterprise सर्वर के लिए अलग लॉगिन विकल्प है।

इसके बाद ऐप Git की सेटिंग माँगता है: नाम और e-mail, जो हर commit में दर्ज होंगे। ये वही user.name और user.email हैं जो git config --global से सेट होते हैं, इसलिए Git पहले से सेट होने पर ये अपने आप भर जाते हैं। commit को अपनी GitHub प्रोफ़ाइल से जोड़ने के लिए खाते में जुड़ा e-mail लिखें, या यह निजी पता इस्तेमाल करें: ID+login@users.noreply.github.com।

ये सेटिंग बाद में बदली जा सकती हैं: Windows पर File → Options, macOS पर GitHub Desktop → Settings में। वहीं आप बाहरी editor (जैसे VS Code), terminal और थीम भी चुनते हैं।

Repository clone करना

Clone का अर्थ है remote repository की पूरी इतिहास के साथ एक प्रति बनाना। GitHub Desktop में इसके लिए File → Clone repository है। खिड़की में तीन टैब हैं: GitHub.com पर आपकी repositories, GitHub Enterprise की repositories, और URL टैब, जहाँ कोई भी पता डाला जा सकता है, GitLab का भी।

  1. सूची से repository चुनें या URL डालें।
  2. स्थानीय फ़ोल्डर (Local path) चुनें।
  3. Clone दबाएँ और download पूरा होने तक इंतज़ार करें।

यही काम git clone कमांड करता है। GitHub पर repository के पेज पर Code बटन के मेनू में Open with GitHub Desktop विकल्प है, जो ऐप को पहले से भरे पते के साथ खोल देता है। अगर आप किसी ऐसी दूसरे की repository clone करते हैं जिस पर आपका लिखने का अधिकार नहीं है, तो बदलाव भेजते समय ऐप fork बनाने का सुझाव देगा।

मौजूदा Git प्रोजेक्ट वाले फ़ोल्डर को File → Add local repository से जोड़ा जाता है, और नई repository File → New repository से बनती है: वहाँ .gitignore टेम्पलेट, license चुनना और README बनाना भी एक साथ हो सकता है।

GitHub Desktop में commit कैसे करें

Changes टैब में बाईं ओर बदली हुई सभी फ़ाइलें दिखती हैं, और दाईं ओर चुनी हुई फ़ाइल का diff: हटाई गई पंक्तियाँ लाल और जोड़ी गई पंक्तियाँ हरी। फ़ाइल के आगे का चेकबॉक्स तय करता है कि वह commit में जाएगी या नहीं। यह staging area और git add का काम है।

  1. जिन फ़ाइलों को commit नहीं करना, उनके चेकबॉक्स हटा दें।
  2. ज़रूरत हो तो diff में अलग-अलग पंक्तियों पर क्लिक करके उन्हें बाहर रखें: यह आंशिक commit है, जैसे git add -p।
  3. नीचे Summary में छोटा विवरण लिखें और चाहें तो Description में विस्तार।
  4. Commit to <branch नाम> बटन दबाएँ।

Commit केवल आपके कंप्यूटर पर बनता है, server पर अभी नहीं जाता। GitHub Desktop में commit छोटे और सार्थक रखना आसान है, क्योंकि हर commit में क्या जा रहा है, साफ़ दिखता है। अगर commit में गलती है, तो उसके तुरंत बाद नीचे Undo बटन आता है, जो आखिरी commit को रद्द करके बदलाव वापस working folder में ले आता है, जब तक वह server पर न भेजा गया हो।

जो फ़ाइलें repository में नहीं जानी चाहिए, उन्हें फ़ाइल के context मेनू से ignore किया जा सकता है: यह .gitignore में एंट्री जोड़ देता है। बिना commit के बदलाव रद्द करने के लिए उसी मेनू में Discard changes है। बदलाव सिस्टम की ट्रैश में जाते हैं, फिर भी इसे वापस न होने वाला कदम मानें।

Push, pull और fetch: server के साथ sync

ऊपर की मुख्य पट्टी का बटन स्थिति के अनुसार नाम बदलता है। यहीं GitHub Desktop में push और pull एक क्लिक में होते हैं।

बटन पर लिखाक्या होता हैGit कमांड
Publish repositoryस्थानीय repository अभी GitHub पर नहीं है: उसे बनाकर भेजनाremote बनाना + git push -u
Publish branchbranch केवल स्थानीय हैgit push -u origin branch
Fetch originserver पर नए commit हैं या नहीं, यह जाँचनाgit fetch
Pull originserver पर नए commit हैं, उन्हें लानाgit pull
Push originआपके स्थानीय commit हैं, उन्हें भेजनाgit push

बटन के पास ऊपर और नीचे तीर के साथ commit की संख्या दिखती है: कितने भेजने हैं और कितने लेने हैं। ऐप पृष्ठभूमि में समय-समय पर fetch करता है, इसलिए जब साथी कुछ भेज देते हैं, तो Pull बटन अपने आप दिखने लगता है।

अगर आपकी branch और server की branch दोनों में अलग-अलग नए commit हैं, तो push रद्द हो जाएगा। पहले Pull origin करें: Git merge करेगा, और अगर बदलाव एक-दूसरे से टकराते हैं तो conflict बनेगा। Force push (इतिहास बदलकर भेजना) ऐप केवल उन कामों के बाद सुझाता है जो पहले से भेजे commit बदलते हैं, जैसे rebase।

Branch बनाना, बदलना और checkout

Branch ऊपर की Current branch ड्रॉपडाउन सूची से संभाली जाती हैं। उसमें स्थानीय और remote branches की सूची, खोज और New branch बटन है। सूची में किसी branch को चुनना ही GitHub Desktop में checkout है: ऐप working folder को उसी branch पर ले जाता है। Remote branch, जो अभी स्थानीय नहीं है, उसे चुनने पर अपने आप tracking वाली स्थानीय branch बन जाती है।

नई branch वर्तमान branch या default branch से बनती है; विकल्प हो तो ऐप पूछता है। बनाने के बाद वह केवल आपके पास होती है, इसलिए ऊपर का बटन Publish branch बन जाता है। Branch का नाम बदलना और हटाना Branch मेनू या सूची में branch के context मेनू से होता है; हटाते समय चुन सकते हैं कि server से भी हटे।

जब branch का काम तैयार हो, तो Branch मेनू में Create pull request है। यह browser में GitHub पर pull request बनाने का पेज खोलता है। Review और merge की प्रक्रिया वेबसाइट पर होती है।

Merge और rebase GitHub Desktop में

किसी दूसरी branch को मौजूदा branch में मिलाने के लिए Current branch मेनू में Choose a branch to merge into <branch> चुनें (यही विकल्प Branch मेनू में भी है)। ऐप पहले दिखा देता है कि कितने commit मिलेंगे और conflict होगा या नहीं। यही GitHub Desktop merge है, यानी सामान्य git merge।

उसी मेनू में Squash and merge है, जो branch के सारे commit को एक commit में समेट देता है, और Rebase current branch है, जो आपके commit को चुनी हुई branch के ऊपर ले जाता है। Rebase के बाद अगर branch पहले ही server पर भेजी जा चुकी थी, तो server और आपके इतिहास में फ़र्क आ जाता है और Push बटन Force push origin बन जाता है। यह केवल अपनी branch पर करें, जिस पर और कोई काम न करता हो।

History टैब में आप commit को खींचकर दूसरी branch पर छोड़ सकते हैं (यह cherry-pick है), एक-दूसरे पर छोड़कर squash कर सकते हैं, या उनका क्रम बदल सकते हैं। पूरे विकल्पों वाला interactive rebase यहाँ नहीं है; उसके लिए terminal में git rebase -i चाहिए।

Merge conflict

अगर दोनों branches में एक ही पंक्तियाँ बदली गई हैं, तो merge, pull या rebase के दौरान conflict वाली फ़ाइलों की सूची खुलती है। हर फ़ाइल को बाहरी editor में खोल सकते हैं, या पूरी फ़ाइल का कोई एक संस्करण चुन सकते हैं: आपका या आने वाला।

Editor में conflict इस तरह दिखता है:

<<<<<<< HEAD
const limit = 20;
=======
const limit = 50;
>>>>>>> feature/pagination

सही संस्करण रखें, marker हटाएँ और फ़ाइल सेव करें। जब सभी फ़ाइलों से marker हट जाते हैं, तो GitHub Desktop उन्हें resolved मान लेता है और merge जारी रखने का बटन चालू कर देता है, जो merge commit बनाता है। कुछ गड़बड़ हो जाए तो उसी खिड़की के Abort बटन से merge रद्द हो सकता है: यह git merge --abort जैसा है।

GitHub Desktop में Git stash

मुख्य खिड़की में अलग से "stash" बटन नहीं है, लेकिन सुविधा मौजूद है। जब बिना commit के बदलावों के साथ आप दूसरी branch पर जाते हैं, तो ऐप पूछता है कि उन बदलावों का क्या करें: वर्तमान branch पर छोड़ें या नई branch पर ले जाएँ। "छोड़ें" चुनने पर बदलाव stash में छिप जाते हैं, यही GitHub Desktop में git stash का तरीका है।

हाथ से छिपाने के लिए बदलावों की सूची के context मेनू में Stash all changes चुनें। Branch पर लौटने पर Changes टैब के नीचे Stashed changes की पंक्ति दिखती है: वहाँ छिपी फ़ाइलें देख सकते हैं और उन्हें Restore से वापस लाना या हटाना कर सकते हैं।

सीमा यह है कि GitHub Desktop हर branch के लिए केवल एक stash रखता है। कई stash entries चाहिए हों, तो git stash pop किसी खास entry के साथ, या git stash apply stash@{1} terminal में चलाएँ। ऐप Repository मेनू से terminal को सही फ़ोल्डर में खोल सकता है।

GitHub Desktop में Git LFS

Git LFS बड़ी binary फ़ाइलों (video, PSD, 3D models) को अलग server पर रखता है, और repository में केवल छोटे pointer रहते हैं। GitHub Desktop LFS को सहारा देता है: जब LFS इस्तेमाल करने वाली repository clone या खोली जाती है, तो ऐप LFS शुरू करने का सुझाव देता है, और उसके बाद बड़ी फ़ाइलें अपने आप download और upload होती हैं।

लेकिन इंटरफ़ेस से यह तय नहीं होता कि कौन-सी फ़ाइलें LFS से ट्रैक होंगी। यह एक बार terminal में करना होता है, उसके बाद git lfs GitHub Desktop में पारदर्शी रूप से काम करता है:

git lfs install
git lfs track "*.psd"
git add .gitattributes
git commit -m "Track PSD files with Git LFS"

सीमाओं का ध्यान रखें: मुफ़्त GitHub खातों में LFS के storage और traffic की सीमा होती है। ताज़ा सीमाएँ खाते की billing सेटिंग में देखें।

Reset, revert और इतिहास

History टैब वर्तमान branch के commit और हर commit में हुए बदलाव दिखाता है। किसी commit के context मेनू में ये विकल्प हैं:

  • Revert changes in commit — चुने हुए commit को रद्द करने वाला नया commit बनाता है। भेजे जा चुके commit के लिए भी सुरक्षित है।
  • Create branch from commit और Create tag — इतिहास के किसी भी बिंदु से branch या tag।
  • Amend commit — आखिरी commit के लिए: संदेश सुधारना या फ़ाइलें जोड़ना।
  • Reset to commit — नए संस्करणों में: branch को चुने हुए commit पर ले जाता है और बदलाव working folder में रखता है, जैसे git reset --mixed।

इंटरफ़ेस में git reset --hard वाला विकल्प नहीं है, यह जानबूझकर है ताकि नया उपयोगकर्ता अपना काम न खोए। अगर वह चाहिए तो terminal का उपयोग करें, और खोए commit git reflog से ढूँढें।

कब command line बेहतर है

GitHub Desktop रोज़ के काम का चक्र अच्छी तरह संभालता है, लेकिन कई चीज़ें उसमें नहीं हैं या मुश्किल हैं:

  • पूरे विकल्पों वाला interactive rebase, git bisect, git reflog, git worktree;
  • कई stash entries, submodules, remote की बारीक सेटिंग;
  • SSH से server पर काम और scripts व CI में स्वचालन;
  • Linux, जहाँ आधिकारिक संस्करण नहीं है।

साथ ही इंटरव्यू में कमांड ही पूछे जाते हैं, और fetch, merge और rebase क्या करते हैं, यह समझ GUI में भी मदद करती है। व्यावहारिक तरीका यह है कि command line अच्छी तरह आती हो, और ऐप का उपयोग वहाँ करें जहाँ वह समय बचाता है: diff देखने में, आंशिक commit में और conflict सुलझाने में। GitHub Desktop के Repository मेनू से आप सीधे प्रोजेक्ट फ़ोल्डर में terminal खोल सकते हैं।

निष्कर्ष

GitHub Desktop Windows और macOS पर Git के साथ काम करने का सरल और मुफ़्त तरीका है: desktop.github.com से डाउनलोड करें, खाते से लॉगिन करें, repository clone करें, और commit, push, pull, branch और conflict बटनों से करें। Stash, LFS और reset में सुविधाएँ सीमित हैं, और जटिल काम terminal पर ही होते हैं। Remote repositories, push, pull और pull request के साथ टीम का काम इस कोर्स में व्यवहार में विस्तार से सिखाया गया है।

अक्सर पूछे जाने वाले प्रश्न

क्या GitHub Desktop मुफ़्त है?

हाँ, ऐप पूरी तरह मुफ़्त है और खुले स्रोत कोड के साथ आता है; पैसे केवल GitHub के सशुल्क प्लान के लिए लगते हैं, अगर आपको वे चाहिए।

क्या GitHub Desktop के लिए अलग से Git इंस्टॉल करना ज़रूरी है?

नहीं, ऐप के अंदर Git की अपनी प्रति है। लेकिन terminal में भी काम करना हो तो Git अपने सिस्टम पर अलग से इंस्टॉल करें।

क्या GitHub Desktop GitLab या Bitbucket के साथ चल सकता है?

हाँ, URL टैब में HTTPS पते से repository clone की जा सकती है। Pull request और खाते से लॉगिन की सुविधा केवल GitHub के लिए पूरी तरह काम करती है।

क्या GitHub Desktop हिंदी में है?

आधिकारिक हिंदी इंटरफ़ेस नहीं है, ऐप अंग्रेज़ी में है। बटनों के नाम छोटे हैं और Git कमांड से मेल खाते हैं, इसलिए समझना कठिन नहीं है।

GitHub Desktop में बदलाव क्यों नहीं दिखते?

अक्सर फ़ाइल .gitignore के नियम में आ जाती है, या कोई दूसरा repository फ़ोल्डर खुला होता है। Current repository मेनू में पथ और .gitignore की सामग्री जाँचें।

इस विषय को वीडियो में सीखें

यह विषय “गिट: शुरुआत से आत्मविश्वासी डेवलपर तक” कोर्स में अभ्यास के साथ विस्तार से समझाया गया है।

कोर्स पर जाएँ