Git ट्यूटोरियल
Git के साथ शुरुआत करना
खोज…
टिप्पणियों
Git एक निःशुल्क, वितरित संस्करण नियंत्रण प्रणाली है, जो प्रोग्रामर को अपनी वर्तमान स्थिति में, "स्नैपशॉट्स" (कमिट्स) के माध्यम से कोड परिवर्तनों का ट्रैक रखने की अनुमति देता है। उपयोग शुरू करने से प्रोग्रामर को परीक्षण करने, डिबग करने और सहयोगात्मक रूप से नई सुविधाएँ बनाने की अनुमति मिलती है। सभी कमिट्स को एक "गिट रिपोजिटरी" के रूप में जाना जाता है जिसे आपके कंप्यूटर, निजी सर्वर, या ओपन सोर्स वेबसाइट्स पर होस्ट किया जा सकता है, जैसे कि जीथब।
Git उपयोगकर्ताओं को कोड की नई "शाखाएं" बनाने की अनुमति देता है, जो कोड के विभिन्न संस्करणों को एक-दूसरे के साथ रहने की अनुमति देता है। यह उन परिदृश्यों को सक्षम करता है जहां एक शाखा में सबसे हाल ही में स्थिर संस्करण होता है, एक अलग शाखा में नई सुविधाओं का एक सेट विकसित होता है, और फिर भी एक अन्य शाखा में सुविधाओं का एक अलग सेट होता है। Git इन शाखाओं को बनाने की प्रक्रिया बनाता है, और फिर बाद में उन्हें एक साथ विलय कर देता है, लगभग दर्द रहित।
आपके कोड के लिए Git में 3 अलग-अलग "क्षेत्र" हैं:
- कार्य निर्देशिका : वह क्षेत्र जिसे आप अपना सारा काम (बनाने, संपादित करने, हटाने और फ़ाइलों को व्यवस्थित करने) में कर रहे होंगे
- स्टेजिंग क्षेत्र : वह क्षेत्र जहाँ आप उन परिवर्तनों को सूचीबद्ध करेंगे, जो आपने कार्यशील निर्देशिका में किए हैं
- रिपोजिटरी : जहां जीआईटी ने आपके द्वारा प्रोजेक्ट के विभिन्न संस्करणों के रूप में किए गए परिवर्तनों को स्थायी रूप से संग्रहीत किया है
Git मूल रूप से लिनक्स कर्नेल स्रोत के प्रबंधन के लिए बनाया गया था। उन्हें आसान बनाकर, यह छोटे-छोटे कामों, परियोजनाओं की कांट-छांट और कांटे के बीच विलय, और बहुत से अल्पकालिक शाखाओं वाले लोगों को प्रोत्साहित करता है।
सीवीएस या तोड़फोड़ के लिए उपयोग किए जाने वाले लोगों के लिए सबसे बड़ा बदलाव यह है कि हर चेकआउट में न केवल स्रोत का पेड़ होता है, बल्कि परियोजना का पूरा इतिहास भी होता है। सामान्य प्रचालन, जैसे संशोधन करना, पुराने संशोधनों की जाँच करना, (आपके स्थानीय इतिहास के लिए) कमिट करना, एक शाखा बनाना, एक अलग शाखा की जाँच करना, शाखाओं या पैच फ़ाइलों को मर्ज करना सभी को केंद्रीय सर्वर के साथ संवाद किए बिना स्थानीय रूप से किया जा सकता है। इस प्रकार विलंबता और अविश्वसनीयता का सबसे बड़ा स्रोत हटा दिया जाता है। "अपस्ट्रीम" रिपॉजिटरी के साथ संचार करने के लिए केवल नवीनतम परिवर्तनों को प्राप्त करने और अन्य डेवलपर्स के लिए अपने स्थानीय परिवर्तनों को प्रकाशित करने की आवश्यकता है। यह वही है जो पहले एक तकनीकी बाधा था (जिसके पास भंडार है वह परियोजना का मालिक है) एक संगठनात्मक विकल्प में (आपका "अपस्ट्रीम" वह है जिसे आप के साथ सिंक करने के लिए चुनते हैं)।
संस्करण
संस्करण | रिलीज़ की तारीख |
---|---|
2.13 | 2017/05/10 |
2.12 | 2017/02/24 |
2.11.1 | 2017/02/02 |
2.11 | 2016/11/29 |
2.10.2 | 2016/10/28 |
2.10 | 2016/09/02 |
2.9 | 2016/06/13 |
2.8 | 2016/03/28 |
2.7 | 2015/10/04 |
2.6 | 2015/09/28 |
2.5 | 2015/07/27 |
2.4 | 2015/04/30 |
2.3 | 2015-02-05 |
2.2 | 2014-11-26 |
2.1 | 2014-08-16 |
2.0 | 2014-05-28 |
1.9 | 2014-02-14 |
1.8.3 | 2013-05-24 |
1.8 | 2012-10-21 |
1.7.10 | 2012-04-06 |
1.7 | 2010-02-13 |
1.6.5 | 2009-10-10 |
1.6.3 | 2009-05-07 |
1.6 | 2008-08-17 |
1.5.3 | 2007-09-02 |
1.5 | 2007-02-14 |
1.4 | 2006/06/10 |
1.3 | 2006/04/18 |
1.2 | 2006/02/12 |
1.1 | 2006/01/08 |
1.0 | 2005/12/21 |
0.99 | 2005/07/11 |
अपनी पहली रिपॉजिटरी बनाएं, फिर फाइलें जोड़ें और कमिट करें
कमांड लाइन पर, पहले सत्यापित करें कि आपने Git स्थापित किया है:
सभी ऑपरेटिंग सिस्टम पर:
git --version
UNIX- जैसे ऑपरेटिंग सिस्टम पर:
which git
यदि कुछ भी नहीं लौटाया जाता है, या कमांड मान्यता प्राप्त नहीं है, तो आपको इंस्टॉलर को डाउनलोड और चलाकर अपने सिस्टम पर Git स्थापित करना पड़ सकता है। असाधारण स्पष्ट और आसान इंस्टॉलेशन निर्देशों के लिए Git होमपेज देखें।
Git इंस्टॉल करने के बाद, अपना उपयोगकर्ता नाम और ईमेल पता कॉन्फ़िगर करें । कमिट करने से पहले ऐसा करें।
एक बार Git स्थापित हो जाने के बाद, उस निर्देशिका पर जाएँ जिसे आप संस्करण नियंत्रण में रखना चाहते हैं और एक खाली Git रिपॉजिटरी बनाना चाहते हैं:
git init
यह एक छिपा हुआ फ़ोल्डर बनाता है। .git
, जिसमें गिट के काम करने के लिए आवश्यक प्लंबिंग होती है।
इसके बाद, जांचें कि आपके नए रिपॉजिटरी में कौन सी फाइलें जोड़ी जाएंगी; यह कदम विशेष देखभाल के लायक है:
git status
फ़ाइलों की परिणामी सूची की समीक्षा करें; आप Git को बता सकते हैं कि कौन सी फाइल को संस्करण नियंत्रण में रखना है (गोपनीय जानकारी जैसे कि पासवर्ड, या केवल रेपो को अव्यवस्थित करने वाली फ़ाइलों से जोड़ने से बचें):
git add <file/directory name #1> <file/directory name #2> < ... >
यदि सूची में सभी फाइलें उन सभी के साथ साझा की जानी चाहिए जिनके पास रिपॉजिटरी तक पहुंच है, तो एक एकल कमांड आपके वर्तमान निर्देशिका और उसकी उपनिर्देशिकाओं में सब कुछ जोड़ देगा:
git add .
यह संस्करण नियंत्रण में जोड़ी जाने वाली सभी फ़ाइलों को "स्टेज" करेगा, उन्हें आपकी पहली प्रतिबद्ध में प्रतिबद्ध करने के लिए तैयार करेगा।
उन फ़ाइलों के लिए जिन्हें आप संस्करण नियंत्रण के तहत कभी नहीं चाहते हैं, add
कमांड चलाने से पहले .gitignore
नामक फ़ाइल को बनाएं और पॉप्युलेट करें ।
एक संदेश के साथ सभी फाइलें जो जोड़ दी गई हैं, उन्हें प्रतिबद्ध करें:
git commit -m "Initial commit"
यह दिए गए संदेश के साथ एक नई प्रतिबद्ध बनाता है। एक कमिट आपके पूरे प्रोजेक्ट के सेव या स्नैपशॉट की तरह है। अब आप इसे दूरस्थ रिपॉजिटरी में धकेल सकते हैं या अपलोड कर सकते हैं, और बाद में यदि आवश्यक हो तो आप इसे वापस छलांग लगा सकते हैं।
यदि आप -m
पैरामीटर को छोड़ देते हैं, तो आपका डिफ़ॉल्ट संपादक खुल जाएगा और आप वहां प्रतिबद्ध संदेश को संपादित और सहेज सकते हैं।
रिमोट जोड़ना
नया रिमोट git remote add
लिए, टर्मिनल पर git remote add
कमांड का उपयोग करें, निर्देशिका में आपकी रिपॉजिटरी को स्टोर किया जाता है।
git remote add
कमांड में दो तर्क होते हैं:
- एक दूरस्थ नाम, उदाहरण के लिए,
origin
- एक दूरस्थ URL, उदाहरण के लिए,
https://<your-git-service-address>/user/repo.git
git remote add origin https://<your-git-service-address>/owner/repository.git
नोट: रिमोट को जोड़ने से पहले आपको अपनी git सर्विस में आवश्यक रिपॉजिटरी बनानी होगी, आप अपने रिमोट को जोड़ने के बाद कमिट को पुश / पुल कर पाएंगे।
एक क्लोन का क्लोन
git clone
कमांड का उपयोग किसी मौजूदा Git रिपॉजिटरी को सर्वर से स्थानीय मशीन में कॉपी करने के लिए किया जाता है।
उदाहरण के लिए, GitHub प्रोजेक्ट को क्लोन करने के लिए:
cd <path where you'd like the clone to create a directory>
git clone https://github.com/username/projectname.git
BitBucket प्रोजेक्ट को क्लोन करने के लिए:
cd <path where you'd like the clone to create a directory>
git clone https://[email protected]/username/projectname.git
यह स्थानीय मशीन पर projectname
नामक एक निर्देशिका बनाता है, जिसमें दूरस्थ गिट रिपॉजिटरी की सभी फाइलें होती हैं। इसमें परियोजना के लिए स्रोत फाइलें शामिल हैं, साथ ही एक .git
उप-निर्देशिका भी शामिल है जिसमें परियोजना के लिए संपूर्ण इतिहास और कॉन्फ़िगरेशन शामिल है।
निर्देशिका का एक अलग नाम निर्दिष्ट करने के लिए, जैसे MyFolder
:
git clone https://github.com/username/projectname.git MyFolder
या वर्तमान निर्देशिका में क्लोन करने के लिए:
git clone https://github.com/username/projectname.git .
ध्यान दें:
किसी निर्दिष्ट निर्देशिका में क्लोनिंग करते समय, निर्देशिका खाली या गैर-मौजूद होनी चाहिए।
आप कमांड के
ssh
संस्करण का भी उपयोग कर सकते हैं:git clone [email protected]:username/projectname.git
https
संस्करण और ssh
संस्करण समतुल्य हैं। हालाँकि, कुछ होस्टिंग सेवाएँ जैसे GitHub यह सलाह देती हैं कि आप ssh
बजाय https
उपयोग https
।
अपस्ट्रीम रिमोट को सेट करना
यदि आपने एक कांटा (जैसे गीथब पर एक ओपन सोर्स प्रोजेक्ट) क्लोन किया है, तो आपके पास अपस्ट्रीम रिपॉजिटरी तक पहुंच नहीं हो सकती है, इसलिए आपको अपने दोनों फोर्क की जरूरत है लेकिन अपस्ट्रीम रिपॉजिटरी लाने में सक्षम हैं।
पहले दूरस्थ नामों की जाँच करें:
$ git remote -v
origin https://github.com/myusername/repo.git (fetch)
origin https://github.com/myusername/repo.git (push)
upstream # this line may or may not be here
यदि upstream
पहले से ही है (यह कुछ Git संस्करणों पर है) तो आपको URL सेट करने की आवश्यकता है (वर्तमान में यह खाली है):
$ git remote set-url upstream https://github.com/projectusername/repo.git
यदि अपस्ट्रीम नहीं है, या यदि आप किसी मित्र / सहयोगी के कांटे को जोड़ना चाहते हैं (वर्तमान में वे मौजूद नहीं हैं):
$ git remote add upstream https://github.com/projectusername/repo.git
$ git remote add dave https://github.com/dave/repo.git
शेयरिंग कोड
अपना कोड साझा करने के लिए आप एक दूरस्थ सर्वर पर एक रिपॉजिटरी बनाते हैं जिसमें आप अपने स्थानीय रिपॉजिटरी को कॉपी करेंगे।
दूरस्थ सर्वर पर स्थान के उपयोग को कम करने के लिए आप एक नंगे भंडार का निर्माण करते हैं: एक जिसमें केवल .git
ऑब्जेक्ट्स होते हैं और फाइल सिस्टम में एक कार्यशील प्रतिलिपि नहीं बनाते हैं। एक बोनस के रूप में आप इस रिमोट को अपस्ट्रीम सर्वर के रूप में सेट करते हैं ताकि आसानी से अन्य प्रोग्रामर के साथ अपडेट साझा कर सकें।
दूरस्थ सर्वर पर:
git init --bare /path/to/repo.git
स्थानीय मशीन पर:
git remote add origin ssh://username@server:/path/to/repo.git
(ध्यान दें कि ssh:
दूरस्थ रिपॉजिटरी तक पहुंचने का सिर्फ एक संभव तरीका है।)
अब अपने स्थानीय रिपॉजिटरी को रिमोट पर कॉपी करें:
git push --set-upstream origin master
जोड़ना --set-upstream
(या -u
) ने एक अपस्ट्रीम (ट्रैकिंग) संदर्भ बनाया जो तर्क-कम गिट कमांड द्वारा उपयोग किया जाता है, जैसे git pull
।
अपना उपयोगकर्ता नाम और ईमेल सेट करना
You need to set who you are *before* creating any commit. That will allow commits to have the right author name and email associated to them.
रिमोट रिपॉजिटरी में धकेलने पर इसका प्रमाणीकरण से कोई लेना-देना नहीं है (जैसे जब आपके GitHub, BitBucket, या GitLab खाते का उपयोग करके दूरस्थ रिपॉजिटरी पर धकेल दिया जाता है)
सभी रिपॉजिटरी के लिए उस पहचान को घोषित करने के लिए, git config --global
उपयोग करें
यह आपके उपयोगकर्ता .gitconfig
फ़ाइल में सेटिंग को संग्रहीत करेगा: जैसे $HOME/.gitconfig
या Windows के लिए, %USERPROFILE%\.gitconfig
।
git config --global user.name "Your Name"
git config --global user.email [email protected]
एकल रिपॉजिटरी के लिए एक पहचान की घोषणा करने के लिए, रेपो के अंदर git config
उपयोग करें।
यह व्यक्तिगत रिपॉजिटरी के अंदर सेटिंग को $GIT_DIR/config
फाइल में $GIT_DIR/config
। उदा। / /path/to/your/repo/.git/config
।
cd /path/to/my/repo
git config user.name "Your Login At Work"
git config user.email [email protected]
जब आप उस रिपॉजिटरी का उपयोग करते हैं, तो एक रिपॉजिटरी की कॉन्फिग फ़ाइल में संग्रहीत सेटिंग्स ग्लोबल कॉन्फिगरेशन पर पूर्ववर्ती स्थिति लेगी।
टिप्स: यदि आपके पास अलग-अलग पहचान है (एक ओपन-सोर्स प्रोजेक्ट के लिए, एक काम पर, एक प्राइवेट रिपॉजिट के लिए ...), और आप अपने द्वारा काम कर रहे प्रत्येक अलग-अलग रेपो के लिए सही सेट करना नहीं भूलना चाहते :
वैश्विक पहचान निकालें
git config --global --remove-section user.name git config --global --remove-section user.email
वैश्विक पहचान में नहीं, केवल एक रिपॉजिटरी की सेटिंग में अपनी पहचान देखने के लिए बाध्य करने के लिए:
git config --global user.useConfigOnly true
इस तरह, यदि आप किसी दिए गए भंडार के लिए अपना user.name
और user.email
सेट करना भूल जाते हैं और user.email
करने का प्रयास करते हैं, तो आप देखेंगे:
no name was given and auto-detection is disabled
no email was given and auto-detection is disabled
एक कमांड के बारे में सीखना
किसी भी git कमांड के बारे में अधिक जानकारी प्राप्त करने के लिए - अर्थात कमांड क्या करती है, उपलब्ध विकल्प और अन्य दस्तावेज के बारे में विवरण - --help
विकल्प या help
कमांड का उपयोग करें।
उदाहरण के लिए, git diff
कमांड के बारे में सभी उपलब्ध जानकारी प्राप्त करने के लिए, उपयोग करें:
git diff --help
git help diff
इसी तरह, status
कमांड के बारे में सभी उपलब्ध जानकारी प्राप्त करने के लिए, उपयोग करें:
git status --help
git help status
यदि आप केवल एक त्वरित सहायता चाहते हैं जो आपको सबसे अधिक इस्तेमाल की जाने वाली कमांड लाइन के झंडे का अर्थ दिखाती है, तो -h
:
git checkout -h
Git के लिए SSH सेट करें
अगर आप विंडोज ओपन गिट बैश का इस्तेमाल कर रहे हैं। यदि आप Mac या Linux का उपयोग कर रहे हैं तो अपना टर्मिनल खोलें।
SSH कुंजी उत्पन्न करने से पहले, आप देख सकते हैं कि आपके पास कोई मौजूदा SSH कुंजी है या नहीं।
अपने ~/.ssh
निर्देशिका की सामग्री को सूचीबद्ध करें:
$ ls -al ~/.ssh
# Lists all the files in your ~/.ssh directory
यह देखने के लिए कि क्या आपके पास पहले से ही सार्वजनिक SSH कुंजी है, निर्देशिका सूची की जाँच करें। डिफ़ॉल्ट रूप से सार्वजनिक कुंजी के फ़ाइलनाम निम्न में से एक हैं:
id_dsa.pub
id_ecdsa.pub
id_ed25519.pub
id_rsa.pub
यदि आप एक मौजूदा सार्वजनिक और निजी कुंजी जोड़ी को सूचीबद्ध करते हैं, जिसे आप अपने Bitbucket, GitHub (या समान) खाते पर उपयोग करना चाहते हैं, तो आप id_*.pub
फ़ाइल की सामग्री की प्रतिलिपि बना सकते हैं।
यदि नहीं, तो आप निम्न आदेश के साथ एक नया सार्वजनिक और निजी कुंजी युग्म बना सकते हैं:
$ ssh-keygen
डिफ़ॉल्ट स्थान को स्वीकार करने के लिए Enter या रिटर्न कुंजी दबाएँ। संकेत दिए जाने पर पासफ़्रेज़ दर्ज करें और पुनः दर्ज करें, या इसे खाली छोड़ दें।
सुनिश्चित करें कि आपकी SSH कुंजी ssh-Agent में जोड़ी गई है। यदि यह पहले से ही नहीं चल रहा है तो बैकग्राउंड में ssh-Agent को शुरू करें:
$ eval "$(ssh-agent -s)"
SSH कुंजी को ssh-Agent में जोड़ें। ध्यान दें कि आपको अपने निजी कुंजी फ़ाइल के नाम के साथ कमांड में id_rsa
को बदलना होगा:
$ ssh-add ~/.ssh/id_rsa
यदि आप HTTPS से SSH में मौजूदा रिपॉजिटरी के अपस्ट्रीम को बदलना चाहते हैं, तो आप निम्न कमांड चला सकते हैं:
$ git remote set-url origin ssh://[email protected]:7999/projects/your_project.git
SSH पर एक नया भंडार क्लोन करने के लिए आप निम्नलिखित कमांड चला सकते हैं:
$ git clone ssh://[email protected]:7999/projects/your_project.git
Git स्थापना
चलो कुछ Git का उपयोग कर रहे हैं। पहली चीजें पहले-आपको इसे स्थापित करना होगा। आप इसे कई तरह से प्राप्त कर सकते हैं; दो प्रमुख स्रोत से इसे स्थापित करने के लिए या आपके मंच के लिए एक मौजूदा पैकेज स्थापित करने के लिए हैं।
स्रोत से स्थापना
यदि आप कर सकते हैं, तो यह आम तौर पर Git को स्रोत से स्थापित करने के लिए उपयोगी है, क्योंकि आपको सबसे हाल का संस्करण मिलेगा। Git का प्रत्येक संस्करण उपयोगी UI संवर्द्धन को शामिल करता है, इसलिए नवीनतम संस्करण प्राप्त करना अक्सर सबसे अच्छा मार्ग होता है यदि आप स्रोत के साथ सहज संकलन सॉफ्टवेयर महसूस करते हैं। यह भी मामला है कि कई लिनक्स वितरण में बहुत पुराने पैकेज होते हैं; तो जब तक आप बहुत अप-टू-डेट डिस्ट्रो पर हैं या बैकपोर्ट का उपयोग कर रहे हैं, स्रोत से इंस्टॉल करना सबसे अच्छा दांव हो सकता है।
Git को स्थापित करने के लिए, आपके पास निम्न लाइब्रेरी होनी चाहिए, जो Git पर निर्भर करती है: कर्ल, ज़्लिब, ओपनसेल, एक्सपैट और लिबीकॉनव। उदाहरण के लिए, यदि आप एक ऐसी प्रणाली पर हैं जिसमें yum है (जैसे कि Fedora) या apt-get (जैसे कि डेबियन आधारित प्रणाली), तो आप इन सभी में से किसी एक पर निर्भरता को स्थापित करने के लिए इनमें से किसी एक कमांड का उपयोग कर सकते हैं:
$ yum install curl-devel expat-devel gettext-devel \
openssl-devel zlib-devel
$ apt-get install libcurl4-gnutls-dev libexpat1-dev gettext \
libz-dev libssl-dev
जब आपके पास सभी आवश्यक निर्भरताएं हैं, तो आप आगे जा सकते हैं और गिट वेब साइट से नवीनतम स्नैपशॉट ले सकते हैं:
http://git-scm.com/download फिर, संकलित करें और स्थापित करें:
$ tar -zxf git-1.7.2.2.tar.gz
$ cd git-1.7.2.2
$ make prefix=/usr/local all
$ sudo make prefix=/usr/local install
ऐसा होने के बाद, आप अपडेट के लिए Git के माध्यम से Git भी प्राप्त कर सकते हैं:
$ git clone git://git.kernel.org/pub/scm/git/git.git
लिनक्स पर स्थापित करना
यदि आप बाइनरी इंस्टॉलर के माध्यम से लिनक्स पर गिट स्थापित करना चाहते हैं, तो आप आम तौर पर बुनियादी वितरण प्रबंधन उपकरण के माध्यम से ऐसा कर सकते हैं जो आपके वितरण के साथ आता है। यदि आप फेडोरा पर हैं, तो आप yum का उपयोग कर सकते हैं:
$ yum install git
या यदि आप उबंटू जैसे डेबियन आधारित वितरण पर हैं, तो कोशिश करें:
$ apt-get install git
मैक पर स्थापित कर रहा है
एक मैक पर Git को स्थापित करने के तीन आसान तरीके हैं। सबसे आसान ग्राफिकल गिट इंस्टॉलर का उपयोग करना है, जिसे आप SourceForge पेज से डाउनलोड कर सकते हैं।
http://sourceforge.net/projects/git-osx-installer/
चित्र 1-7। Git OS X इंस्टॉलर। दूसरा प्रमुख तरीका है Git को MacPorts ( http://www.macports.org) के जरिए इंस्टॉल करना। यदि आपके पास MacPorts स्थापित है, तो Git को स्थापित करें
$ sudo port install git +svn +doc +bash_completion +gitweb
आपको सभी एक्स्ट्रा जोड़ने की ज़रूरत नहीं है, लेकिन आप संभवतः + svn को शामिल करना चाहते हैं, यदि आपको कभी भी Git को Subversion रिपॉजिटरी (अध्याय 8 देखें) के साथ उपयोग करना है।
Git स्थापित करने के लिए Homebrew ( http://brew.sh/) एक और विकल्प है। यदि आपने Homebrew स्थापित किया है, तो Git को स्थापित करें
$ brew install git
विंडोज पर इंस्टॉल करना
विंडोज पर Git इंस्टॉल करना बहुत आसान है। MsysGit प्रोजेक्ट में आसान इंस्टॉलेशन प्रक्रियाओं में से एक है। बस GitHub पेज से इंस्टॉलर exe फ़ाइल डाउनलोड करें, और इसे चलाएं:
http://msysgit.github.io
इसे स्थापित करने के बाद, आपके पास कमांड-लाइन संस्करण (एसएसएच क्लाइंट सहित जो बाद में काम आएगा) और मानक जीयूआई दोनों हैं।
विंडोज उपयोग पर ध्यान दें: आपको दिए गए msysGit शेल (यूनिक्स शैली) के साथ Git का उपयोग करना चाहिए, यह इस पुस्तक में दी गई कमांड की जटिल लाइनों का उपयोग करने की अनुमति देता है। यदि आपको किसी कारण से, देशी विंडोज शेल / कमांड लाइन कंसोल का उपयोग करने की आवश्यकता है, तो आपको सिंगल कोट्स के बजाय दोहरे उद्धरण चिह्नों का उपयोग करना होगा (उन में रिक्त स्थान के मापदंडों के लिए) और आपको परिधि उच्चारण के साथ समाप्त होने वाले मापदंडों को उद्धृत करना होगा (^ ) यदि वे लाइन पर अंतिम हैं, क्योंकि यह विंडोज में एक निरंतरता प्रतीक है।