2012-09-14 12 views
21

मैं अपने स्थानीय से मूल तक एक शाखा में धक्का देने की कोशिश कर रहा हूं। शाखा का नाम और पथ समान है। मैं थोड़ी देर के लिए इस शाखा से धक्का दे रहा हूं और खींच रहा हूं और कभी भी कोई समस्या नहीं थी। लेकिन अचानक, यह बुरी तरह व्यवहार करना शुरू कर दिया। पिछली बार जब मैं निम्न आदेश के साथ मूल करने के लिए पुश करने के लिए करने की कोशिश की:कुख्यात गिट त्रुटि: रिमोट अस्वीकार (लॉक करने में विफल)

git push origin feature/Prizefulfilment 

यह मेरा पीछा errror देता है:

72c6c1da98e5cff4484e254a538d9e3b472156ff but expected 0000000000000000000000000000000000000000 

मैं चारों ओर Google पर है लेकिन अभी तक यह करने के लिए एक काफी संतोषजनक समाधान नहीं मिला।

मेरे सटीक त्रुटि ऐसा दिखाई देता है:

$ git push origin feature/Prizefulfilment 
Counting objects: 126, done. 
Delta compression using up to 4 threads. 
Compressing objects: 100% (75/75), done. 
Writing objects: 100% (78/78), 8.83 KiB, done. 
Total 78 (delta 61), reused 0 (delta 0) 
error: Ref refs/heads/feature/Prizefulfilment is at 72c6c1da98e5cff4484e254a538d9e3b472156ff but expected 0000000000000000000000000000000000000000 
remote: error: failed to lock refs/heads/feature/Prizefulfilment 
To [email protected]:OpusOneSCRUM 
! [remote rejected] feature/Prizefulfilment -> feature/Prizefulfilment (failed to lock) 
error: failed to push some refs to '[email protected]:OpusOneSCRUM'` 

कोई भी विचार?

+1

आप 'अपने स्थानीय और दूरस्थ पर Git fsck' चलाने के लिए गंभीरता से दूषित है यकीन है कि कुछ भी नहीं बनाना चाहते हो सकता है। – singpolyma

+0

यह मेरे स्थानीय 'चेकिंग ऑब्जेक्ट निर्देशिकाओं पर कुछ खतरनाक काम करता है: 100% (256/256), किया गया। वस्तुओं की जांच: 100% (106152/106152), किया गया। झूलते ब्लॉब 4118c6392bbea95a6404d40344e12ff8fe1e64c8 झूलते ब्लॉब a34f2078115375df3749567e01793e556f0e5ade झूलते ब्लॉब 9a5e545d9056200834f74d6426144269974467a0 झूलते ब्लॉब 867c5821823a875e724203b5bc8bbf65c8b72931 झूलते ब्लॉब 128ccc6d40e4090cd725d37867308e525825b991 झूलते ब्लॉब 5b91603a188d5f13af4ef56b0f62d6d8caff92b4 ब्लॉब c6a5241f7a4c23a68456526adf94f3c784d1df69' और झूलते और अधिक झूलती रही – TeaLeave

+0

मैं Git छँटाई के साथ पीछा किया और यह abut कुछ Blobs झूलते का एक बहुत हटा दिया लटकती काम अभी भी वहाँ हैं ... – TeaLeave

उत्तर

28
git push feature/prizeFulfilment: feature/Prizefulfilment 

कि this answer के समान है:

For the record, I believe the root cause of this problem was the difference in capitalisation between the local and remote branch names, and the case-insensitive nature of the Windows share that hosted the remote repository.

We just encountered this exact same error and were able to resolve the problem simply by renaming the local branch to match the capitalisation of the existing remote branch.

प्रयास करें और यह सुनिश्चित कर लें स्थानीय और दूरस्थ शाखाओं के बीच एक ही पूंजीकरण का उपयोग करें।

आप दूसरा आदेश prizeFulfilment और दूरस्थ Prizefulfilment के बीच का लिंक स्पष्ट बनाते हैं, यही कारण है कि यह काम करता है। लेकिन स्थानीय शाखा को उस तरह के अंतर से रखने का अच्छा समाधान नहीं है।

+0

टिप्पणियों के लिए धन्यवाद, यह सहायक था :)। – TeaLeave

3

मेरे साथ क्या हुआ यह था कि गिट मेरी स्थानीय शाखा के पूंजीकरण को बदल रहा था। मेरे पास फ़ीचर/ब्लाहब्लह नाम की एक पुरानी शाखा थी और फीचर/फूबार नाम की एक नई शाखा थी। उत्तरार्द्ध का नाम बदलकर फ़ीचर/fooBar में बदल दिया गया था क्योंकि गिट स्टोर्स शाखाओं को फ़ोल्डर के रूप में रखा गया था और मेरे पास अलग-अलग पूंजीकरण के साथ एक ही फ़ोल्डर का नाम नहीं हो सका।

इसे ठीक करने के लिए, मुझे 0git/refs/head में जाना था और 'फ़ीचर' 'फीचर' का नाम बदलें '' इसलिए सभी शाखाएं सुसंगत होंगी।

5

संवेदनशील सिस्टम विवादित उल्लंघनों के नाम पर समस्या का एक और संभावित कारण भी मौजूद है।

यदि रिमोट रिपोजिटरी में शाखा a/b है और आप पुश शाखा a/b/c की कोशिश कर रहे हैं तो गिट द्वारा एक ही त्रुटि की सूचना दी जाएगी (निश्चित रूप से यह त्रुटि विवरण सुधारना चाहिए)।

https://coderwall.com/p/qkofma/a-caution-about-git-branch-names-with-s https://ocroquette.wordpress.com/2011/07/10/git-failed-to-lock/

-1

जब आप इस तरह संदेश मिलता है, पहले दूरस्थ branch.Then से आपरेशन खींच धक्का operation.When किसी दूरस्थ सर्वर से फ़ाइलों को धक्का करना है, यह मास्टर शाखा (परिवर्तन होगा मामला दूरस्थ शाखा में मास्टर है, यह कोई नाम हो सकता है) किसी अन्य स्थान पर। आपको स्थानीय भंडार में इसे अपडेट करने की आवश्यकता है, ताकि स्थानीय भंडार में मूल/मास्टर आगे बढ़े। फिर स्थानीय भंडार में फ़ाइलें जोड़ें और इसे प्रतिबद्ध करें। फिर करें पुश ऑपरेशन। यह मेरे लिए काम किया

0

मेरे मामले में, मैंने सभी निचले केस लेटरिंग के साथ एक शाखा चेकआउट की थी। इससे रिमोट शाखा और स्थानीय शाखा के नामों के बीच असंगतता आई।

रिमोट शाखा आईएनटी -4368-कुछ फीचर-विवरण था, जबकि स्थानीय शाखा int-4368-कुछ-फीचर-विवरण थी।

ठीक करने के लिए, मैं .git \ refs \ head \ सुविधा में गया और रिमोट से मेल खाने के लिए शाखा का नाम बदल दिया। फिर कमांड लाइन के पास गया और

git checkout INT-4368-some-feature-details 
2

भाग गया मैंने देखा कि इस त्रुटि हो क्योंकि पिछले एक शाखा मेरी नई शाखा पथ नाम के रूप में एक ही नाम के साथ मौजूद था। उदाहरण:

  • रिमोट है शाखा: some_feature
  • स्थानीय है शाखा: some_feature/some_subfeature
  • स्थानीय करने के लिए रिमोट
  • शाखा some_feature/some_subfeature धक्का रिमोट है त्रुटि: (failed to lock)

समाधान:

  • some_feature/some_subfeaturefoo/some_subfeature को स्थानीय शाखा का नाम बदलें
  • दूरस्थ शाखा हटाएँ some_feature
संबंधित मुद्दे