2014-05-22 13 views
5

मैंने कुछ बदलाव किए, उन्हें प्रतिबद्ध किया और शाखा को गेरिट (git push gerrit) पर धक्का दिया। अब मेरे परिवर्तन गेरिट में दिखाई नहीं देते हैं और मुझे लगता है कि ऐसा इसलिए है क्योंकि मैंने git review का उपयोग करने के बजाय मैन्युअल रूप से परिवर्तनों को धक्का दिया था। जब मैं अब git review चलाने के लिए, मैं इस त्रुटि हो रही है:गेरिट:! [रिमोट अस्वीकार] HEAD -> refs/publ/master (कोई नया परिवर्तन नहीं)

remote: Processing changes: refs: 1, done  
To ssh://[email protected]:29418/Project 
! [remote rejected] HEAD -> refs/publish/master (no new changes) 
error: failed to push some refs to 'ssh://use[email protected]:29418/Project' 

मैं कैसे Gerrit बता सकता है कि मेरी changeset समीक्षा की जरूरत है?

+1

क्या उर्फ ​​'Git के लिए खड़े review' है का पालन करें? –

+1

@TimCastelijns: https://github.com/openstack-infra/git-review – lrineau

+0

सबसे आसान फिक्स एक सुपर नाबालिग संपादन (टिप्पणी या कुछ संपादित करना) बनाना होगा, प्रतिबद्धता में संशोधन करें और सही आदेश –

उत्तर

3

मुझे लगता है कि समस्या यह है कि पहले ही रिमोट शाखा में प्रतिबद्धता है। यही कारण है कि धक्का पर कोई नया बदलाव नहीं। सबसे पहले remove दूरस्थ शाखा से प्रतिबद्ध करने का प्रयास करें, और उसके बाद प्रतिबद्धता को शाखा की समीक्षा करने के लिए दबाएं।

+0

गेरिट के आंतरिक डेटाबेस के साथ यह गड़बड़ नहीं करेंगे? – stackular

+0

मुझे लगता है कि समस्या यह है कि रिमोट शाखा पर पहले से ही उस बदलाव के साथ प्रतिबद्धता है, यदि आप शाखा की समीक्षा करने के लिए भी दबाव डालने की कोशिश कर रहे हैं। नहीं, क्योंकि यह परिवर्तन उस परिवर्तन के साथ प्रतिबद्ध नहीं है Id ने अभी तक समीक्षा नहीं की है - इसलिए गेरिट डेटाबेस में इसके लिए कोई प्रविष्टि नहीं है। – HiB

5

आप निकाल सकते हैं कि दूरदराज के शाखा से प्रतिबद्ध हैं या आप इस

git commit --amend 

क्या कर सकते हैं यह एक नया पैच पैदा करेगा

git push gerrit HEAD:refs/for/your_branch 
+0

मेरे लिए यह तब हुआ जब मैंने मास्टर के लिए एक ही पैच को धक्का दिया और फिर एक विशेषता ब्रैच के लिए। समस्या यह थी कि दो पैच में एक ही बदलाव-आईडी था इसलिए दूसरा धक्का खारिज कर दिया गया था। प्रतिबद्ध होने के बाद - यह ठीक काम किया। –

0

मैंने पाया कि git review कोई साथ एक शाखा प्रस्तुत नहीं होगा परिवर्तन। यह मूल रूप से कह रहा है: "चूंकि आपके प्रतिबद्ध में कोई बदलाव नहीं है, इसलिए सबमिट करने का कोई कारण नहीं है ... इसलिए मैं नहीं करूंगा"। आपकी स्थिति के विपरीत, पिछले धक्का में त्रुटि होने पर यह मेरे साथ हुआ है।

मैंने इन मामलों में जो किया है वह केवल मामूली परिवर्तन (जैसे रिक्त रेखा जोड़ना) जोड़ता है ताकि gerrit चीजों को अलग-अलग देख सके और फिर यह काम करता है।

एक और चीज जो आप कर सकते हैं (आपके संगठन द्वारा उपयोग की जाने वाली प्रक्रिया के आधार पर) अपने परिवर्तन लॉग से बदलें-आईडी को हटाएं (git commit --amend का उपयोग करके) और फिर git review चलाएं, इस प्रकार एक नया समीक्षा सेट तैयार करें, अनिवार्य रूप से अब तक जैसा कि गेरिट का संबंध है।

-1

इस त्रुटि

! [remote rejected] HEAD -> refs/for/develop (no new changes) 

से बचने के लिए बस इन चरणों का

git commit --amend # this will create a new patch 
git push gerrit HEAD:refs/for/your_branch 
संबंधित मुद्दे