मैं अपने स्थानीय परिवर्तनों के बारे में 'गिट पुल' पर एक त्रुटि को नजरअंदाज कैसे करूंगा जो मर्ज द्वारा अधिलेखित होगी?


567

मैं Git पुल पर निम्नलिखित त्रुटि संदेश को कैसे अनदेखा करूं?

निम्न फ़ाइलों के लिए आपके स्थानीय परिवर्तन मर्ज द्वारा अधिलेखित कर दिए जाएंगे

क्या होगा यदि मैं उन्हें अधिलेखित करना चाहता हूं?

मैंने चीजों की तरह कोशिश की है git pull -f, लेकिन कुछ भी काम नहीं करता है।

स्पष्ट होने के लिए, मैं केवल विशिष्ट परिवर्तनों को लिखना चाहता हूं, सब कुछ नहीं।


संबंधित लेकिन कोई डुप्लिकेट नहीं: stackoverflow.com/questions/52704/…
डैनियल हिल्गरथ

7
@BrianKnoblauch पूरी तरह से सहमत हैं! इसके अलावा, यह एक 'मर्ज' के ज्यादा नहीं है अगर यह 'ओवरराइटिंग' है? मुझे हर दिन SVN की याद आती है ...
user1944491

2
git config core.fileMode falseमेरा समय बचाओ
Nolwennig


यदि मैं उन्हें अधिलेखित नहीं करना चाहता तो क्या होगा?
फिलिप रीगो

जवाबों:


438

यदि आप सभी स्थानीय बदलावों को हटाना चाहते हैं - जिसमें वे फाइलें भी शामिल हैं जो आपके काम की कॉपी से जीआईटी से अनट्रैक हैं, तो बस उन्हें दबाएं:

git stash push --include-untracked

यदि आपको अब इनकी आवश्यकता नहीं है, तो आप अब उस रोक को हटा सकते हैं:

git stash drop

यदि आप उन परिवर्तनों को नहीं करना चाहते हैं जिन्हें आपने पहले ही मंचित कर दिया है - जैसे कि git add- तब विकल्प जोड़ें --keep-index। हालांकि, ध्यान दें कि यह अभी भी विलय को रोक देगा यदि उन चरणों में परिवर्तन अपस्ट्रीम से लोगों के साथ टकराता है।


यदि आप अपने स्थानीय परिवर्तनों के केवल विशिष्ट भागों को अधिलेखित करना चाहते हैं, तो दो संभावनाएँ हैं:

  1. वह सब कुछ करें जो आप बाकी के लिए ऊपर लिखी गई विधि को अधिलेखित और उपयोग नहीं करना चाहते हैं।

  2. git checkout path/to/file/to/revertउन परिवर्तनों के लिए उपयोग करें जिन्हें आप अधिलेखित करना चाहते हैं। सुनिश्चित करें कि फ़ाइल के माध्यम से मंचन नहीं किया गया है git reset HEAD path/to/file/to/revert


संभावना # 2 काम नहीं करती है। कमांड निष्पादित करने के बाद कुछ नहीं होता है। खींचने पर मुझे अभी भी वही त्रुटि मिलती है।
मॅई

1
@ user1132363: यह मेरे लिए काम करता है। कृपया इसे पहले सिंगल फाइल से टेस्ट करें। इसके अलावा, आपने यह सुनिश्चित कर लिया है कि जिस फ़ाइल को आप अधिलेखित करना चाहते हैं उसका मंचन नहीं किया गया है।
डैनियल हिल्गारथ

3
चाल का उपयोग करना था git checkout HEAD^ path/to/file/to/revert। का उपयोग करते हुए प्रमुख ^ सभी फर्क पड़ा।
मॅई

2
@ user1132363: यह पिछले संस्करण की जाँच करता है और वर्तमान में जाँच नहीं किया गया है। मुझे विश्वास नहीं होता कि यह सही दृष्टिकोण है।
डैनियल हिलगर्थ

1
मुझे बाहर जाना पड़ा " save --keep-index"।
पीटर मोर्टेंसन

318

अन्य दो उत्तरों की मदद से मैं सीधे समाधान के साथ आया हूँ:

git checkout HEAD^ file/to/overwrite
git pull

7
इसने मेरे लिए काम किया। क्या आप इस उत्तर पर विस्तार कर सकते हैं, अर्थात। यह वास्तव में क्या कर रहा है?
एसी पैट्रिस

3
यह स्थानीय परिवर्तनों को छोड़ रहा है, HEAD संदर्भ के लिए जो संभवतः मास्टर शाखा में अंतिम प्रतिबद्ध है
k3a

32
HEAD के बजाय HEAD ^ क्यों?
युरा

19
HEAD ^ 1 के लिए HEAD ^ कम है, जिसका अनिवार्य रूप से HEAD से पहले एक कमिट का मतलब है। इससे पहले कि आप प्रतिबद्ध के लिए HEAD ^ 2 भी कर सकते थे। अधिक जानकारी के लिए git-scm.com/book/en/v2/… और stackoverflow.com/questions/1955985/… देखें ।
दाविदनीधाम

4
कृपया बताएं कि यह उत्तर में क्या करता है
एंडोलिथ

242

यह मेरे लिए सभी स्थानीय परिवर्तनों को ओवरराइड करने के लिए काम करता है और एक पहचान की आवश्यकता नहीं है:

git reset --hard
git pull

4
एसओ को अपनी रैंकिंग एगो पर काम करने की जरूरत है, काम करने के लिए बोझिल, थ्रेड के नीचे अब तक का उच्च श्रेणी का उत्तर।
बेनेडिक्ट के।

3
@BenedictK। मेरा मानना ​​है कि रैंकिंग प्रणाली उचित रूप से प्रतिबिंबित करती है "सबसे अधिक लोगों को जो सबसे अधिक उपयोगी लगता है।" वे वोट से रैंक किए गए हैं। अधिक लोग अन्य समाधान पसंद करते हैं। यह एक अच्छा समाधान है, लेकिन अधिक लोगों को अन्य उत्तर अधिक उपयोगी लगते हैं।
किटसिल

मेरे लिए ठीक काम करता है
एंडर

सुपर आसान =) thx ^ ^
lestat_kim

टैंक, मेरे लिए ठीक काम करता है
इगोर

76

यहाँ एक समाधान है जो मंचित परिवर्तनों को दूर फेंकता है:

git reset file/to/overwrite
git checkout file/to/overwrite

11
सच में, अगर कथित अंतर इस तथ्य से आता है कि फ़ाइल की जांच की गई थी जब इसकी नई सुर्खियों को बदल दिया गया था, तो यह समस्या को ठीक नहीं करेगा।
डेनियलस्क

1
मेरी समस्या का समाधान किया।
Lo .c एन।

यह सबसे अच्छा जवाब है, imo, क्योंकि यह किसी भी मंचित आइटम को बाधित नहीं करता है, लेकिन पुल को रोकने वाली फ़ाइल की समस्या को संबोधित करता है
रिले

65

मर्ज करने से पहले आप या तो अपने बदलाव कर सकते हैं, या आप उन्हें रोक सकते हैं:

  1. git stash save
  2. git merge origin/master
  3. git stash pop

10
बिंदु है, आपको ऐसा नहीं करना चाहिए। बस वर्तमान हेड सामग्री ले लो और ..... इसे मर्ज करें! यह वास्तव में सरल है, Git, अन्य सभी VCS करते हैं ... लेकिन नहीं। लिनुस को इसका उपयोग करने के लिए परेशान करना पड़ा।
जॉन

@ यह समाधान उबंटू के लिए है, मुझे इससे अच्छा कुछ नहीं मिला।
सुनील कुमार

दुर्भाग्य से --autostashविकल्प केवल --rebaseविकल्प के साथ उपलब्ध है (
यूजेन कोनकोव

इतने सारे समस्याओं को पेश करने जा रहा है कि इसके लायक नहीं है। कम से कम लोड करने के लिए 5 मिनट लेता है। "फ़ाइल के अनलिंक" त्रुटियों का भी परिचय देता है। डाउनवोट
फिलिप रेगो

51

यदि आप एक फ़ाइल पर अपने स्थानीय परिवर्तनों को छोड़ना चाहते हैं, तो आप निम्न कार्य कर सकते हैं:

git checkout -- <file>

तब आप फ़ाइल को केवल नवीनतम संस्करण के साथ [ओवर] लिख सकते हैं:

git pull

@pabloasc यह आपके स्थानीय परिवर्तन को उस फ़ाइल में नष्ट कर रहा है।
सुनील कुमार

6
हाँ यह है: "क्या होगा अगर मैं उन्हें अधिलेखित करना चाहता हूं?"
डेविड

1
मूल प्रश्न यह सक्षम नहीं है, यह उत्तर किसी को बुरा सपना दे सकता है जो नेत्रहीन रूप से कमांड को पेस्ट कर सकता है।
सुनील कुमार

यदि आप पहले से ही एक git reset HEAD~git checkout
कमेंट का

git checkout -- <file>के साथ विफल रहता हैerror: pathspec '<file>' did not match any file(s) known to git.
A__

18

यदि आपकी रिपॉजिटरी में कुछ फाइलें हैं जिन्हें हटा दिया गया है master:

  1. git checkout master
  2. git fetch origin
  3. git reset --hard origin/master
  4. git checkout -b newbranch

12

कभी-कभी, इनमें से कोई भी काम नहीं करता है। आमतौर पर, एलएफ चीज के कारण मुझे लगता है, जो काम करेगा वह फाइलों को हटा रहा है, फिर खींच रहा है। ऐसा नहीं है कि मैं इस समाधान की सलाह देता हूं, लेकिन यदि फ़ाइल मौजूद नहीं है, तो git बेकार में आपको सूचित नहीं करेगा कि आपके परिवर्तन (जो परिवर्तन भी नहीं हो सकते हैं) ओवरराइड हो जाएंगे, और आपको जारी रखने देंगे।

अपने जोखिम पार इस्तेमाल करें।


जब आप लाइन अंत के कारण अटक जाते हैं, तो यह विधि एक जीवन रक्षक है
डैन पिसार्स्की

यह मेरे लिए काम नहीं कर रहा है। फ़ाइलें स्थानीय रूप से मौजूद नहीं हैं और मुझे अभी भी त्रुटि मिल रही है।
PRMan

11

git stash save --keep-index मेरे लिए काम नहीं किया।

उम्मीद के मुताबिक काम किया।

git reset --hard
git pull

यदि आपको उनकी आवश्यकता नहीं है तो यह सभी स्थानीय परिवर्तनों को ओवरराइड करता है।


9

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

git stash
git stash drop
git pull

एक आकर्षण की तरह काम किया
ब्लेज़

गजब का! सरल और काम कर समाधान।
भोलेराव

शानदार, धन्यवाद बहुत
हमजा

8

हाल ही के गिट में, आप अपनी वर्तमान शाखा को ऊपर लाने के बाद अपस्ट्रीम शाखा के ऊपर लाने के लिए -r/ --rebaseऑन pullकमांड जोड़ सकते हैं । चेतावनी गायब हो जानी चाहिए, लेकिन एक जोखिम है कि आपको कुछ संघर्ष मिलेंगे जिन्हें आपको हल करना होगा।


वैकल्पिक रूप से आप बल के साथ अलग शाखा की जांच कर सकते हैं, फिर वापस masterफिर से जा सकते हैं, जैसे:

git checkout origin/master -f
git checkout master -f

फिर इसे हमेशा की तरह फिर से खींचें:

git pull origin master

इस पद्धति का उपयोग करने से आप स्टैशिंग ( git stash) और संभावित अनुमति के मुद्दों से समय बचा सकते हैं, फ़ाइलों को रीसेट करना ( git reset HEAD --hard), फ़ाइलों को हटाना ( git clean -fd), आदि। इसके अलावा याद रखना आसान है।


8

यह समस्या इसलिए है क्योंकि आपने फ़ाइल / s में स्थानीय रूप से परिवर्तन किए हैं और Git रिपॉजिटरी में परिवर्तन के साथ एक ही फ़ाइल / s मौजूद है, इसलिए पुल / पुश करने से पहले आपको स्थानीय परिवर्तनों को छिपाने की आवश्यकता होगी:

किसी एकल फ़ाइल के स्थानीय परिवर्तनों को अधिलेखित करने के लिए:

git reset file/to/overwrite
git checkout file/to/overwrite

सभी स्थानीय परिवर्तनों (सभी फ़ाइलों में परिवर्तन) को अधिलेखित करने के लिए:

git stash
git pull
git stash pop

इसके अलावा यह समस्या आपकी वजह से हो सकती है जो एक शाखा पर है जिसका मास्टर शाखा में विलय नहीं है।


5

git reset --hard && git clean -df

सावधानी : यह किसी भी अनटैक की गई फ़ाइलों को रीसेट और हटा देगा।


27
दोस्त के माथे से मक्खी हटाने के लिए कुल्हाड़ी का इस्तेमाल नहीं किया जाता है।
ऑनरेडम्यूल

3
इस जागरूकता के बिना इसका उपयोग न करें कि कुछ फाइलें DELETED हो जाएंगी।
andromeda


4

इस समस्या को हल करने का सबसे अच्छा तरीका है:

git checkout -- <path/file_name>

उसके बाद आप फ़ाइल को ओवरराइट कर सकते हैं:

git pull origin master

मुझे बताई गई समस्या थी क्योंकि मैं फ़ाइलों को अपरिवर्तित मानने के लिए अनुक्रमणिका को अपडेट कर चुका था। यह अभी भी मुझे खींचने नहीं देगा। मैंने git checkout -- path/*सिर्फ एक बार इस्तेमाल किया , और इसने मुझे इसके बाद पुल निष्पादित करने की अनुमति दी।
स्टीफन ओ'फ्लिन

4

यह मेरे लिए लाइव रिमोट सर्वर पर परिवर्तनों को छोड़ने और स्रोत नियंत्रण GitHub से खींचने के लिए काम किया:

git reset --hard
git pull origin master

4

यहाँ समस्या को हल करने की मेरी रणनीति है।

समस्या का विवरण

हमें 10 से अधिक फ़ाइलों में परिवर्तन करने की आवश्यकता है। हमने कोशिश की PULL (git pull origin master), लेकिन गिट चिल्लाया:

त्रुटि: निम्न फ़ाइलों के लिए आपके स्थानीय परिवर्तन मर्ज द्वारा अधिलेखित कर दिए जाएंगे: कृपया, अपने परिवर्तन करें या मर्ज करने से पहले उन्हें रोकें।

हमने निष्पादित करने की कोशिश की commitऔर फिरpull , लेकिन उन्होंने भी काम नहीं किया।

समाधान

हम गंदे में थे वास्तव चरण में थे, क्योंकि फाइलें "स्टेजिंग एरिया" उर्फ ​​"इंडेक्स एरिया" में थीं और कुछ "हेड एरिया" उर्फ ​​"स्थानीय गिट निर्देशिका" में थीं। और हम सर्वर से परिवर्तन खींचना चाहते थे।

एक स्पष्ट तरीके से Git के विभिन्न चरणों के बारे में जानकारी के लिए इस लिंक की जाँच करें: GIT चरण

हमने निम्नलिखित चरणों का पालन किया

  • git stash (इससे हमारी कार्यशील निर्देशिका साफ हो गई। आपके परिवर्तन Git द्वारा स्टैक पर संग्रहीत किए गए हैं)।
  • git pull origin master (सर्वर से परिवर्तन खींचो)
  • git stash apply (स्टैक से सभी परिवर्तनों को लागू किया गया)
  • git commit -m 'message' (बदलावों के लिए प्रतिबद्ध)
  • git push origin master (सर्वर में परिवर्तन को धक्का दिया)
  • git stash drop (स्टैक को छोड़ें)

आइए समझें कि आपको कब और क्यों स्टैशिंग की आवश्यकता है

यदि आप गंदी स्थिति में हैं, तो इसका मतलब है कि आप अपनी फ़ाइलों में बदलाव कर रहे हैं और फिर आप किसी भी कारण से, किसी बहुत जरूरी काम के लिए दूसरी शाखा में खींचने या स्विच करने के लिए मजबूर हैं , इसलिए इस बिंदु पर आप खींच नहीं सकते या तब तक स्विच करें जब तक आप अपना परिवर्तन नहीं करते। stashआदेश एक मदद के लिए हाथ के रूप में यहाँ है।

प्रोगिट पुस्तक से , द्वितीय संस्करण:

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


3

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

आप चुनिंदा बदलावों को आजमा सकते हैं, जिनका आप उपयोग करना छोड़ना चाहते हैं git stash --patchऔर फिर उस रोक को छोड़ना चाहते हैं git stash drop। फिर आप दूरस्थ परिवर्तनों को खींच सकते हैं और उन्हें सामान्य रूप से मर्ज कर सकते हैं।


3

टी एल; डॉ;

git pull --rebase --autostash
  -r, --rebase[=false|true|merges|preserve|interactive]
       When true, rebase the current branch on top of the upstream branch after
       fetching. If there is a remote-tracking branch corresponding to the upstream

  --autostash, --no-autostash
       Before starting rebase, stash local modifications away if
       needed, and apply the stash entry when done

मुझे नहीं पता कि इसका उत्तर अभी तक क्यों नहीं दिया गया है, लेकिन समाधान, जैसा कि आप देख सकते हैं सरल है। यहां सभी उत्तर समान हैं: अपने स्थानीय परिवर्तनों को हटाने / सहेजने और ऊपर की ओर लागू करने के लिए, फिर (यदि आप save) अपने स्थानीय परिवर्तनों को शीर्ष पर लागू करें।

git pull --rebase --autostashचरण-दर-चरण क्या होता है:

1. your local changes saved by `--autostash`
2. your local commits saved by `--rebase`
3. commits from upstream applied to your branch
4. your local commits are restored on top of upstream
5. your local changes are restored to working directory

मेरा मामला (शायद आपका भी):

मेरे पास स्थानीय परिवर्तन हैं (कार्य निर्देशिका में परिवर्तन):

यहाँ छवि विवरण दर्ज करें

जब मैं दूरस्थ परिवर्तन खींचने की कोशिश करता हूँ तो मुझे त्रुटि मिलती है:

यहाँ छवि विवरण दर्ज करें

यह परिवर्तन स्थानीय परिवर्तनों के साथ प्रतिच्छेद नहीं करता है:

यहाँ छवि विवरण दर्ज करें

इसलिए जब मैंने pull --rebase --autostashस्थानीय परिवर्तन बिना किसी समस्या के स्वचालित रूप से सहेजे और लागू किए

यहाँ छवि विवरण दर्ज करें

अब मेरे स्थानीय परिवर्तन थोड़े कम हैं: यहाँ छवि विवरण दर्ज करें


2

मेरे पास इसका एक विशेष मामला था: मेरे पास एक फाइल थी - उस पर - अनसुनी-अपरिवर्तित। यह पता लगाना कठिन था, क्योंकि git statusकमांड कोई बदलाव नहीं दिखा रहा था


मुझे ऐसी ही समस्या है। क्या आपको इसके आसपास जाने का रास्ता मिला? मुझे लगता है कि मैं हटा सकता हूं और फिर मान-अपरिवर्तित को फिर से जोड़ सकता हूं ... जो मैंने किया था वह अपरिवर्तित संस्करणों को प्राप्त करने के लिए मैन्युअल रूप से उन फ़ाइलों की जांच कर रहा था ... अगर बस चेकआउट / रीबेस / मर्ज करने का एक तरीका है तो बस ओवरराइट करने के लिए एक तरीका है उन्हें।
डेविड

1
नहीं, मुझे पूरी "अपरिवर्तित" बात को छोड़ना पड़ा।

2

यदि आप सर्वर पर उत्पादन परिवर्तन रखना चाहते हैं, तो बस एक नए कॉन्फ़िगरेशन आइटम में विलय करें। प्रसंस्करण विधि इस प्रकार है:

git stash
git pull
git stash pop

हो सकता है कि आप सभी ऑपरेशनों को अंजाम न दें। आप जान सकते हैं कि आप आगे क्या कर सकते हैं।


आप कोड मर्ज को स्वचालित रूप से पुष्टि करने के लिए फ़ाइल के Git diff - w + नाम का उपयोग कर सकते हैं
यानक्यूइंग

1

मैं अपने रेपो में एक फ़ाइल को अनदेखा कर रहा था और जब मैंने किया तो git pull upstream masterमुझे निम्नलिखित त्रुटि मिली:

त्रुटि: निम्न फ़ाइलों के लिए आपके स्थानीय परिवर्तन मर्ज द्वारा अधिलेखित कर दिए जाएंगे: myfile.js कृपया, अपने परिवर्तन करें या उन्हें मर्ज करने से पहले उन्हें रोकें। निरस्त

इसे हल करने के लिए मैंने निम्नलिखित कार्य किया

git update-index --no-assume-unchanged myfile.js

मैंने तब किया git statusऔर यह संदेश मिला

ब्रांच मास्टर पर आपकी शाखा 4 कमिट द्वारा 'मूल / मास्टर' से पीछे है, और इसे तेजी से आगे बढ़ाया जा सकता है। (अपनी स्थानीय शाखा को अद्यतन करने के लिए "गिट पुल" का उपयोग करें)

परिवर्तन के लिए प्रतिबद्ध नहीं हैं: (कार्य करने के लिए "git add ..." का उपयोग करें) जो काम करने के लिए प्रतिबद्ध होंगे ("git checkout - ..." का उपयोग करके कार्यशील निर्देशिका में परिवर्तन छोड़ दें)

संशोधित: myfile.js

इसमें कोई परिवर्तन नहीं किए गए हैं ("git add" और / या "git प्रतिबद्ध -a" का उपयोग करें)

फिर मैंने उसके git checkout myfile.jsबाद किया git pull upstream master। इस बार गिट पुल ऑपरेशन सफल रहा।


1

गुरु से खींचने पर मुझे इसका सामना करना पड़ा।

जिस तरह से मैंने इसे संभाला, विजुअल स्टूडियो का उपयोग करके;

  1. सबसे पहले, मैंने अपने समाधान पर पूर्ववत किया।
  2. फिर मैंने गिट पुल प्रक्रिया की।

उम्मीद है की यह मदद करेगा!



1

मैं गित में नया हूँ और निश्चित नहीं हूँ कि मेरा समाधान एक अच्छा विचार है।

मैंने सभी उत्तरों का परीक्षण किया है और उनमें से कोई भी मेरे लिए काम नहीं करता है!

लेकिन मुझे एक और उपाय मिला:

1. Backup both of local and repository versions of the file.
2. Delete the file from repository.
3. git add .
4. git commit
5. git push

उम्मीद है की यह मदद करेगा।


1

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

अपने दूरस्थ रेपो कुछ शाखा xyz है और आप चाहते हैं कि दूरदराज के रेपो xyz शाखा तो में (करने के लिए नकल की) स्थानीय रेपो xyz शाखा मर्ज करने का कहना है की सुविधा देता है,

{
git checkout xyz                  //check out to the respective branch in local repo
git commit -m "commiting message" //commit changes if any, in local repo branch xyz
git pull                          //it pulls remote xyz branch into local xyz branch
}

0

इस त्रुटि क्योंकि लाइन अंत का है, तो

git add
git checkout mybranch

काम करेगा। मुझे यकीन नहीं है कि यह क्यों काम करता है।


0

> वापस लाएं और फिर खींच - Pycharm के लिए, आप Git कर सकते हैं।


0

यह संदेश उपयोग किए जाने पर भी हो सकता git-lfsहै और फ़ाइल पॉइंटर को वास्तविक फ़ाइल द्वारा अधिलेखित कर दिया गया था।

तो आप का उपयोग करें:

git stash
git lfs migrate import
git pull

मेरे मामले से पूर्ण उत्पादन

λ git stash
Saved working directory and index state WIP on master: 5d4ad47 Merge branch 'feature/...' into 'master'
Encountered 1 file(s) that should have been pointers, but weren't:
        public/apple-touch-icon.png

λ git pull
Updating 5a4ad44..b25f79d
error: Your local changes to the following files would be overwritten by merge:
        public/apple-touch-icon.png
Please commit your changes or stash them before you merge.
Aborting

λ git lfs migrate import
migrate: Fetching remote refs: ..., done
migrate: Sorting commits: ..., done
migrate: Rewriting commits: 100% (0/0), done
migrate: Updating refs: ..., done
migrate: checkout: ..., done


λ git pull
Updating 5d4ad47..a25c79a
Fast-forward
 public/apple-touch-icon.png | Bin 2092 -> 130 bytes
 public/favicon.ico          | Bin 6518 -> 1150 bytes
 2 files changed, 0 insertions(+), 0 deletions(-)

देख https://github.com/git-lfs/git-lfs/issues/2839


0

मैंने कोशिश की है और इसे सफलतापूर्वक, खींचने से पहले, वह सभी फ़ाइल करने दें जो आपने नहीं की है, फिर आपको एएस से वह संदेश प्राप्त नहीं होगा।

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