जैसा कि कुछ ने एक संभावित तरीके का उल्लेख किया है, git इंटरैक्टिव स्टेजिंग का उपयोग कर रहा है । यह बहुत अच्छा है जब आपके पास विभिन्न एक्सटेंशन वाली फाइलें होती हैं
$ git add -i
staged unstaged path
1: unchanged +0/-1 TODO
2: unchanged +1/-1 index.html
3: unchanged +5/-1 lib/simplegit.rb
*** Commands ***
1: status 2: update 3: revert 4: add untracked
5: patch 6: diff 7: quit 8: help
What now>
यदि आप दबाते हैं 2 तो enterआपको उपलब्ध होने वाली फ़ाइलों की सूची मिल जाएगी:
What now> 2
staged unstaged path
1: unchanged +0/-1 TODO
2: unchanged +1/-1 index.html
3: unchanged +5/-1 lib/simplegit.rb
Update>>
अब आपको केवल उन फ़ाइलों की संख्या सम्मिलित करनी है जिन्हें आप जोड़ना चाहते हैं, इसलिए यदि हम जोड़ना चाहते हैं TODOऔर index.htmlहम टाइप करेंगे1,2
Update>> 1,2
staged unstaged path
* 1: unchanged +0/-1 TODO
* 2: unchanged +1/-1 index.html
3: unchanged +5/-1 lib/simplegit.rb
Update>>
आप * संख्या से पहले देखते हैं ? इसका मतलब है कि फ़ाइल को जोड़ा गया था।
अब कल्पना करें कि आपके पास 7 फाइलें हैं और आप 7 वें को छोड़कर उन सभी को जोड़ना चाहते हैं? यकीन है कि हम टाइप कर सकते हैं 1,2,3,4,5,6लेकिन 7 के बजाय कल्पना करें कि हमारे पास 16 हैं, जो काफी बोझिल होगा, अच्छी बात यह है कि हमें उन सभी को टाइप करने की आवश्यकता नहीं है क्योंकि हम श्रेणियों का उपयोग करके टाइप कर सकते हैं1-6
Update>> 1-6
staged unstaged path
* 1: unchanged +0/-1 TODO
* 2: unchanged +1/-1 index.html
* 3: unchanged +5/-1 lib/simplegit.rb
* 4: unchanged +5/-1 file4.html
* 5: unchanged +5/-1 file5.html
* 6: unchanged +5/-1 file6.html
7: unchanged +5/-1 file7.html
Update>>
हम कई श्रेणियों का उपयोग भी कर सकते हैं, इसलिए यदि हम 1 से 3 तक चाहते हैं और 5 से 7 तक हम टाइप करते हैं 1-3, 5-7:
Update>> 1-3, 5-7
staged unstaged path
* 1: unchanged +0/-1 TODO
* 2: unchanged +1/-1 index.html
* 3: unchanged +5/-1 lib/simplegit.rb
4: unchanged +5/-1 file4.html
* 5: unchanged +5/-1 file5.html
* 6: unchanged +5/-1 file6.html
* 7: unchanged +5/-1 file7.html
Update>>
यदि हम टाइप करते हैं -number, तो हम इसका उपयोग अस्थिर फ़ाइलों के लिए भी कर सकते हैं , इसलिए यदि हम फ़ाइल नंबर 1 को अस्थिर करना चाहते हैं , तो हम टाइप करेंगे -1:
Update>> -1
staged unstaged path
1: unchanged +0/-1 TODO
* 2: unchanged +1/-1 index.html
* 3: unchanged +5/-1 lib/simplegit.rb
4: unchanged +5/-1 file4.html
* 5: unchanged +5/-1 file5.html
* 6: unchanged +5/-1 file6.html
* 7: unchanged +5/-1 file7.html
Update>>
और जैसा कि आप कल्पना कर सकते हैं कि हम फ़ाइलों की एक श्रृंखला को भी अनस्टेज कर सकते हैं, इसलिए यदि हम -rangeउस श्रेणी की सभी फ़ाइलों को टाइप करते हैं, तो वे अनस्टेज्ड होंगी। यदि हम 5 से 7 तक की सभी फाइलों को अनस्टेज करना चाहते हैं तो हम टाइप करेंगे -5-7:
Update>> -5-7
staged unstaged path
1: unchanged +0/-1 TODO
* 2: unchanged +1/-1 index.html
* 3: unchanged +5/-1 lib/simplegit.rb
4: unchanged +5/-1 file4.html
5: unchanged +5/-1 file5.html
6: unchanged +5/-1 file6.html
7: unchanged +5/-1 file7.html
Update>>
git commit -aआपके लिए प्रतिबद्ध संदेश टाइप करने के लिए एक संपादक को खोलता है। एक संदेश दर्ज करें जिसे आप लॉग के रूप में देखना चाहते हैं और संपादक से बाहर निकलें। यह कमिट पूरा करता है। रिमोट रिपॉजिटरी में अपने बदलावों को आगे बढ़ाते हुए इसका पालन करेंgit push <remote name> <branch name>जैसे किgit push remote master