पुल अनुरोध से एक संशोधित फ़ाइल निकालें


103

मेरे पास इस समय एक पुल अनुरोध में 3 संशोधित फाइलें (कोई नई फाइलें नहीं) हैं।

मैं उन फ़ाइलों में से एक को पुल अनुरोध से निकालना चाहता हूं, ताकि पुल अनुरोध में केवल दो फ़ाइलों में परिवर्तन हो और तीसरे को इसकी मूल, अछूता स्थिति में छोड़ दिया जाए।

मैंने कुछ चीजों की कोशिश की है (फ़ाइल के मूल संस्करण की जांच करना, आदि ...), लेकिन यह अभी भी पीआर में एक बदली हुई फ़ाइल के रूप में दिखता है।

क्या इसका कोई हल है?


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

जवाबों:


242

उस शाखा पर जाएँ जहाँ से आपने पुल अनुरोध बनाया है:

$ git checkout pull-request-branch

किसी अन्य शाखा में फ़ाइल के साथ संशोधित फ़ाइल को ओवरराइट करें, आइए इसे मास्टर मानते हैं :

git checkout origin/master -- src/main/java/HelloWorld.java

कमिट करें और इसे रिमोट पर पुश करें:

git commit -m "Removed a modified file from pull request"
git push origin pull-request-branch

4
मुझे त्रुटि दिखाते हुए कार्य नहीं कर रहा है: pathspec '{file / path.js}' git के लिए ज्ञात किसी भी फ़ाइल (नों) से मेल नहीं खाता।
raftaar1191 10

8
यह काम कर रहा है और सिद्ध समाधान सिर्फ आपके रास्ते को सही ढंग से
जांचता

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

1
@ अर्पितअगरवाल यह ठीक काम कर रहा है। बहुत बहुत धन्यवाद।
चकलादार असफाक आरिफ

1
ये जबरदस्त है। अत्यंत उपयोगी।
जेक

10

आप कमिट में संशोधन करना चाहते हैं और फिर एक बल पुश करना चाहते हैं जो पीआर के साथ शाखा को अपडेट करेगा।

यहाँ मैं आपको यह करने की सलाह देता हूँ:

  1. पीआर को बंद करें ताकि जो भी समीक्षा कर रहा है वह इसे तब तक न खींचे जब तक आपने अपने बदलाव नहीं किए हैं।
  2. अपने अनचाहे परिवर्तन से पहले प्रतिबद्ध के लिए एक नरम रीसेट करें (यदि यह अंतिम प्रतिबद्ध है जिसका आप उपयोग कर सकते हैं git reset --soft HEAD^या यदि यह एक अलग प्रतिबद्ध है, तो आप 'हेड' के साथ 'हेड' को बदलना चाहेंगे)
  3. उस फ़ाइल में कोई भी परिवर्तन छोड़ें (या पूर्ववत करें) जिसे आपने अपडेट करने का इरादा नहीं किया है
  4. एक नई प्रतिबद्धता बनाओ git commit -a -c ORIG_HEAD
  5. फोर्स पुश टू योर ब्रांच
  6. पुन: खोलने का अनुरोध करें

अब आपकी शाखा को अपडेट कर दिया गया है, पुल अनुरोध में आपके परिवर्तन शामिल होंगे।

यहाँ Gits प्रलेखन की एक कड़ी है जहाँ उनके पास एक पूर्ववत करें और फिर से करें के तहत एक बहुत अच्छा उदाहरण है ।


-5

एक पुल अनुरोध सिर्फ इतना है: एक शाखा को दूसरे में विलय करने का अनुरोध।

आपका पुल अनुरोध "कुछ भी" शामिल नहीं करता है, यह सिर्फ एक मार्कर कह रहा है "कृपया इस शाखा को उस एक में मर्ज करें"।

वेब UI में PR शो में परिवर्तन का सेट सिर्फ लक्ष्य शाखा और आपकी सुविधा शाखा के बीच के परिवर्तन हैं। अपने पुल अनुरोध को संशोधित करने के लिए, आपको अपनी सुविधा शाखा को संशोधित करना होगा, संभवतः सुविधा शाखा को बल धक्का के साथ।

आपके मामले में, आप शायद अपनी प्रतिबद्धता में संशोधन करना चाहते हैं। आपकी सटीक स्थिति के बारे में निश्चित नहीं है, लेकिन इंटरैक्टिव रिबास के कुछ संयोजन और आपको add -pइसे सुलझाना चाहिए।

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