जीआईटी मर्ज की त्रुटि "प्रतिबद्ध नहीं है क्योंकि आपके पास अनमर्ल्ड फाइलें हैं"


172

इसलिए मैं इसे संपादित करने से पहले अपने कोड को खींचना भूल गया और फिर जब मैंने नया कोड बनाया और पुश करने की कोशिश की, तो मुझे लगा कि त्रुटि पुश संभव नहीं है, उस समय मैंने एक "गिट पुल" किया था जिसमें संघर्ष के साथ कुछ फाइलें हाइलाइट की गई थीं। मैंने संघर्षों को हटा दिया लेकिन मुझे नहीं पता कि यहाँ से क्या करना है ..

मैंने git commitफिर से कोशिश की, लेकिन यह कहता है "प्रतिबद्ध नहीं है क्योंकि आपके पास फाइलें नहीं हैं"

जवाबों:


244

यदि आपने उन उलझनों को ठीक कर लिया है git add [filename], जिनके साथ आपको फ़ाइलों को चरण में जोड़ने की आवश्यकता है , तो सामान्य रूप से प्रतिबद्ध करें।


2
क्या होगा अगर वे फाइलें हैं जिन पर मैं काम नहीं कर रहा हूं? क्या मुझे फिर भी उन्हें जोड़ना चाहिए? इससे निपटने का सबसे अच्छा तरीका क्या है?
R11G

1
मुझे एक शाखा में हटाए गए फ़ाइल के लिए ऐसा करना था जिसे मैं वर्तमान शाखा में विलय कर रहा था। Git ने इसे एक संघर्ष के रूप में चिह्नित किया, इसलिए मुझे git add the_fileमर्ज करने के लिए स्थानीय रूप से फ़ाइल को हटाना पड़ा ।
ब्रेंडन मुइर

संघर्षों की सूची कैसे खोजें?
पोलीना- c

7
git statusआपको उन फ़ाइलों को दिखाएगा जिनमें संघर्ष है
jonnystoten

@jonnystoten आपकी टिप्पणी के लिए धन्यवाद! मैं प्रयोग किया जाता है git statusऔर एक फ़ाइल है कि ने कहा कि पाया both deleted। WebStorm UI ने समस्या नहीं दिखाई, बस यह कहा कि यह एक मर्ज नहीं कर सकता है। हल!
यूरी प्रिडबोर्स्की

52

आपको दो काम करने की जरूरत है। सबसे पहले इसमें बदलाव जोड़ें

git add .
git stash  

git checkout <some branch>

यह आपके मुद्दे को हल करना चाहिए क्योंकि यह मेरे लिए हल है।


यह केवल गिट जोड़ने की आवश्यकता नहीं है। पर्याप्त होगा
रईस इकबाल

3
इसके अलावा यह एक भारी हिटर है अगर आप git addअपने सभी काम करने वाली फाइलों को नहीं चाहते हैं
कोर्टीमास

11

आप git stashजो करना चाहते हैं उसे करने से पहले करंट रिपॉजिटरी को बचाने के लिए उपयोग कर सकते हैं (बाद में अपस्ट्रीम रेपो से बदलाव को मर्ज करने के बाद git stash pop)। मुझे कल यही करना था जब मुझे भी यही समस्या थी।


1

यह त्रुटि तब होती है जब आप संघर्षों को हल करते हैं लेकिन फ़ाइल को अभी भी चरण क्षेत्र में जोड़ना होगा। जोड़ देना। इसे हल करेगा। फिर, प्रतिबद्ध और मर्ज करने का प्रयास करें।


0

मेरे पास एक समान मुद्दा है जो "अनमैरिड पथ" के तहत फ़ाइलों को हटाने के लिए उबला हुआ है

उन फ़ाइलों का उपयोग करके हटाया जाना था git rm


0

तो ऊपर की त्रुटि से। इस मुद्दे को ठीक करने के लिए आपको बस अपना कोड वापस करना होगा। ( git revert HEAD) तब git pullऔर फिर आपके परिवर्तनों को फिर git pullसे , फिर से करने और बिना किसी त्रुटि के मर्ज करने में सक्षम था।


0

2.23 (अगस्त 2019) के बाद से अब आपके पास ऐसा करने के लिए एक शॉर्टकट है git restore --staged [filepath]:। इस आदेश के साथ, आप इसे जोड़ने और हटाने की आवश्यकता के बिना एक विवादित फ़ाइल को अनदेखा कर सकते हैं।

उदाहरण:

> git status

  ...
  Unmerged paths:
    (use "git add <file>..." to mark resolution)
      both modified:   file.ex

> git restore --staged file.ex

> git status

  ...
  Changes not staged for commit:
    (use "git add <file>..." to update what will be committed)
    (use "git restore <file>..." to discard changes in working directory)
      modified:   file.ex

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