कमिट-ए "अनट्रैक फाइल्स"?


92

जब मैं एक काम करता git commit -aहूं, तो मैं निम्नलिखित देख रहा हूं:

  # Please enter the commit message for your changes. Lines starting
  # with '#' will be ignored, and an empty message aborts the commit.
  # On branch better_tag_show
  # Changes to be committed:
  #   (use "git reset HEAD <file>..." to unstage)
  #
  # modified:   ../assets/stylesheets/application.css
  # modified:   ../views/pages/home.html.erb
  # modified:   ../views/tags/show.html.erb
  # modified:   ../../db/seeds.rb
  #
  # Untracked files:
  #   (use "git add <file>..." to include in what will be committed)
  #
  # ../assets/stylesheets/
  # ../views/pages/

उन अनटैक की गई फ़ाइलों का क्या मतलब है? सभी परिवर्तनों को वास्तव में ट्रैक किया गया है। मुझे समझ नहीं आ रहा है कि git मुझे यहां अनट्रैक फ़ाइलों के बारे में क्यों चेतावनी दे रहा है।

संपादित करें :

ठीक है मुझे बहुत सारे उलझे हुए उत्तर दिखाई देते हैं। मेरे बाद ऐसा ही होता है git commit -a

# On branch master
nothing to commit (working directory clean)

जैसा कि आप देख सकते हैं, उन चार फाइलों के अलावा अन्य कुछ भी नहीं है जिनमें परिवर्तन लागू थे।

मेरे प्रश्न को निम्नानुसार समझना चाहिए: क्यों मुझे अनटाइटेड फ़ाइलों के बारे में चेतावनी दी जा रही है जब इस प्रतिबद्धताओं में सभी परिवर्तनों को ट्रैक किया गया है?

दूसरे शब्दों में, क्या git प्रतिबद्ध संदेश में अनियंत्रित चेतावनी अनावश्यक है ?


1
(use "git add <file>..." to include in what will be committed)
zengr

1
zengr जो आवश्यक नहीं है क्योंकि git प्रतिबद्ध -a उन फ़ाइलों में सभी परिवर्तनों को ट्रैक करेगा जिन्हें ट्रैक किया गया है।
गायब हो गया

3
यह है जब फ़ाइलें कभी नहीं किया गया है आवश्यक addअब तक एड। डॉक्स से -a: कमांड को स्वचालित रूप से उन फ़ाइलों को स्टेज करने के लिए कहें जो संशोधित और हटा दी गई हैं, लेकिन आपने जिन नई फाइलों के बारे में नहीं बताया है, वे प्रभावित नहीं होती हैं
नौफल इब्राहिम

आप यह क्यों कहते हैं कि आप 'चेतावनी' है? जैसा कि मैं देख रहा हूं कि यह 'अनट्रैक' फाइलें संदेश सूचनात्मक है। आपके लिए यह देखना है कि क्या उन फ़ाइलों को प्रबंधित करने और तदनुसार कार्य करने की आवश्यकता है।
सप्तम

@ सुतेश जो भी आप इसे कॉल करना चाहते हैं, मुझे अभी भी नहीं लगता कि यह वास्तव में बिल्कुल मददगार है। यह कैसे जानकारीपूर्ण है? मुझे क्या करना चाहिए? क्या आपने मेरी पोस्ट "EDIT" अनुभाग पर पढ़ी है जहाँ मैंने लिखा है कि ऊपर सूचीबद्ध लोगों को छोड़कर किसी अन्य फ़ाइल पर कोई संशोधन नहीं है? यदि आपको यह जानकारी मिलती है, तो यह मेरे लिए बराबर है कि आपके रेपो ट्री के किसी भी यादृच्छिक फ़ोल्डर को ट्रैक नहीं किया जाएगा, जब चिंता की कोई बात नहीं है।
गायब हो गया

जवाबों:


105

दूसरों के लिए भी यही समस्या है, दौड़ने का प्रयास करें

git add . जो वर्तमान निर्देशिका की सभी फाइलों को ट्रैक करने के लिए जोड़ देगा (अनट्रैक सहित) और फिर उपयोग करें

git commit -a सभी ट्रैक की गई फ़ाइलों को करने के लिए।

जैसा कि @ स्पेसर द्वारा सुझाया गया है, एक लाइनर जो एक ही काम करता है

git add -A


4
git commit -aसभी ट्रैक की गई फ़ाइलों को कम करेगा, अनटैक की गई फ़ाइलों को ट्रैक नहीं करेगा। git add .वर्तमान निर्देशिका में अनट्रैक की गई फ़ाइलों को ट्रैक करेगा। git add -aसभी फ़ाइलों को ट्रैक नहीं करेगा।
यहां

@matteo यह git add -A, नहीं है git commit -A। जहाँ तक मैं बता सकता हूँ, कोई स्विच नहीं है जिसे आप पास कर सकते हैं git commitजिसमें अनट्रैक फ़ाइलें शामिल हैं।
लेन

1
-एक अभी के लिए पदावनत लगता है। आप सब का धन्यवाद। :)
tcratius

उन आदेशों के बारे में अधिक जानकारी के लिए, आप देख सकते हैं: stackoverflow.com/questions/572549/…
ओनत कोरुको

30

git commit -am "msg"के रूप में ही नहीं है git add fileऔरgit commit -m "msg"

यदि आपके पास कुछ ऐसी फाइलें हैं, जिन्हें कभी भी ट्रैक करने के लिए नहीं जोड़ा गया था, तब भी आपको करने की आवश्यकता है git add file

"गिट कमिट-ए" कमांड दो-चरणीय प्रक्रिया का एक शॉर्टकट है। रेपो द्वारा पहले से ज्ञात एक फाइल को संशोधित करने के बाद, आपको अभी भी रेपो को बताना होगा, “अरे! मैं इसे चरणबद्ध फाइलों में जोड़ना चाहता हूं और अंत में इसे आपके लिए प्रतिबद्ध करता हूं। " यह "git ऐड" कमांड जारी करके किया जाता है। "गिट कमिट-ए" फाइल को स्टैज कर रहा है और इसे एक स्टेप में कर रहा है।

स्रोत: "गिट कमिट-ए" और "गिट ऐड"


लेकिन, जैसा कि आपने कहा कि कमिट-ए = गिट ऐड। + git प्रतिबद्ध है कि यह ट्रैकिंग क्षेत्र में फ़ाइल को ऑटो-ऐड क्यों नहीं करेगा ?? ....
जॉनी

1
@ जॉनी: + के git commit -aबराबर नहीं है । कदम कहते हैं केवल वे फ़ाइलें जो के रूप में संशोधित सूचीबद्ध हैं अपने में , नहीं वर्तमान निर्देशिका में सब कुछ। git add .git commitgit addgit status
सोरेन ब्योर्नस्टैड

हाँ, मुझे पता चला है कि आज!
कांसईरोबोट

9

आपको कमांड लाइन में टाइप करना चाहिए

git add --all

यह सभी अनट्रैक किए गए फ़ाइलों को करेगा

संपादित करें:

आपकी फ़ाइलों के मंचन के बाद वे प्रतिबद्ध हैं, इसलिए आपकी अगली आज्ञा होनी चाहिए

git commit -am "Your commit message"

5
यह सभी फ़ाइलों को चरणबद्ध करता है, उन्हें प्रतिबद्ध नहीं करता है। आपको अभी भी अलग से ऐसा करना होगा।
साब अमीनी

8
  1. सबसे पहले आपको सभी अनटैक की गई फ़ाइलों को जोड़ना होगा। इस कमांड लाइन का उपयोग करें:

    git add *

  2. फिर इस कमांड लाइन का उपयोग कर प्रतिबद्ध करें:

    git commit -a


7

यदि आपको अनट्रैक फ़ाइलों के साथ समस्या हो रही है, तो यह 3-लाइन स्क्रिप्ट आपकी मदद करेगी।

git rm -r --cached .
git add -A
git commit -am 'fix'

फिर बस git push


यह मेरे लिए जागता है क्योंकि मुझे ट्रैक की गई फ़ाइलों को अनट्रैक करने की आवश्यकता है जो मैं अब अनदेखा कर रहा हूं।
जासूस आदमी

2

जैसा कि नाम से पता चलता है कि the अनट्रैक फाइल्स ’वे फाइलें हैं जिन्हें गिट द्वारा ट्रैक नहीं किया जा रहा है। वे आपके मंचन क्षेत्र में नहीं हैं, और किसी भी पिछले आवागमन का हिस्सा नहीं थे। यदि आप चाहते हैं कि उन्हें संस्करण (या गिट द्वारा प्रबंधित किया जाए) तो आप 'गिट ऐड' का उपयोग करके 'गिट' बताकर ऐसा कर सकते हैं। इस चैप्टर रिकॉर्डिंग रिपोजिटरी को प्रोजित बुक में रिपोजिटरी में चेक करें जो एक अच्छा विजुअल का उपयोग करता है जो कि git repo में रिकॉर्डिंग परिवर्तन के बारे में एक अच्छा विवरण प्रदान करता है और साथ ही 'ट्रैक किए गए' और 'अनट्रेक्टेड' शब्दों को भी समझाता है।


0

सुनिश्चित करें कि आप अपने स्थानीय git में सही निर्देशिका (रिपॉजिटरी मुख्य फ़ोल्डर) में हैं ताकि आपके द्वारा फ़ाइलें जोड़ने या जोड़ने से पहले .git फ़ोल्डर कॉन्फ़िगरेशन मिल सके।


यह प्रश्न का उत्तर प्रदान नहीं करता है। किसी लेखक से स्पष्टीकरण मांगने या उसका अनुरोध करने के लिए, उनके पोस्ट के नीचे एक टिप्पणी छोड़ दें। - समीक्षा से
सम्पतिस

-1
git add --all

यह अनट्रैक की गई फ़ाइल को हल कर देगा। डायरेक्टरी थ्रू @travis delly के अंदर की सभी फ़ाइल को जोड़ें


यह उत्तर पहले से ही सुझाया गया था।
प्रति स्वेन्सन

आप कृपया निकाल सकते downvote.Then मैं अपने जवाब को नष्ट करेगा
लावा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.