गितुब में नए कोड को आगे बढ़ाने का मुद्दा


147

मैंने गितुब पर एक नया रिपॉजिटरी बनाया, जिसमें अभी रीडमीएमडी फाइल है।

मेरे पास एक नई बनाई गई RoR परियोजना है जिसे मैं इस भंडार में धकेलना चाहता था। मेरे द्वारा मेरे टर्मिनल में दिए गए आदेशों का पालन करने के बाद मुझे यह त्रुटि हो रही है।

git remote add origin https://github.com/aniruddhabarapatre/learn-rails.git

जिसके बाद मैंने अपना यूजरनेम और पासवर्ड डाला

git push -u origin master

त्रुटि ---

To https://github.com/aniruddhabarapatre/learn-rails.git
 ! [rejected]        master -> master (fetch first)
error: failed to push some refs to 'https://github.com/aniruddhabarapatre/learn-rails.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first merge the remote changes (e.g.,
hint: 'git pull') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

यह मेरा पहली बार है जब मेरे कोड को एक जीथब रिपॉजिटरी में धकेल दिया गया है और मैं त्रुटियों के साथ खो गया हूं। मैंने कुछ अन्य प्रश्न खोजे जो यहाँ पूछे गए हैं, लेकिन उनमें से कोई भी पहली बार मुद्दा नहीं था।


जवाबों:


167

जब आपने GitHub पर अपना भंडार बनाया , तो आपने एक README.md बनाया , जो एक नई प्रतिबद्धता है

आपके स्थानीय भंडार को अभी तक इस बारे में कोई जानकारी नहीं है। अत:

अपडेट को अस्वीकार कर दिया गया था क्योंकि रिमोट में वह काम होता है जो आपके पास स्थानीय रूप से नहीं होता है।

आप इस सलाह का पालन करना चाहते हैं:

आप git pullफिर से पुश करने से पहले दूरस्थ परिवर्तनों (जैसे, ' ') को मर्ज करना चाहते हैं ।

अर्थात्:

git pull
# Fix any merge conflicts, if you have a `README.md` locally
git push -u origin master

3
मैं जो कर रहा हूं वह है git पुल ओरिजिनल मास्टर पहले तो फिर से पुश करें।
Bagusflyer

12
कुछ मामलों में आप fatal: refusing to merge unrelated historiesइस तरह के एक मामले में हो सकता है , आप जमा करते हैं git pull --allow-unrelated-histories origin masterऔर फिर आप ऊपर दिए गए उत्तर के अनुसार धक्का देते हैं
TheLebDev

1
मेरे लिए काम नहीं करता। रिमोट: पुश खारिज कर दिया। रिमोट: रिमोट: रेफ्स / हेड्स / मास्टर: ...: कमेटी नेम एक्सएक्सएक्स नाम लेकिन अपेक्षित yyy। मैं एक git config -global user.email yyy करता हूं और यह अभी भी पहचान नहीं करता है। कुछ भी मजबूर नहीं कर सकते। !!!
बरूच अट्टा

284

अगर यह आपका पहला धक्का है

बस बदलो

git push **-u** origin master

इसे इस तरह से बदलो!

git push -f origin master

5
इसने मेरी रीडमी फ़ाइल को हटा दिया जिसे मैंने पहले जीथब पर रखा था। अब ऐसा लग रहा है कि मुझे इसे फिर से बनाना होगा।
जैक ब्लैंक

3
आप बस एक चेतावनी जोड़ सकते हैं कि अगर धक्का को बल देता है और कोड टाइमलाइन के साथ गड़बड़ कर सकता है
ericksho

यह एक बुरा तरीका है, इससे मुझे समस्या हुई, इसने रीडमी को नष्ट कर दिया, जो मेरे द्वारा नहीं बनाया गया था, अब मुझे फोन करना होगा कि मैं उसे बता दूं कि मैं बेवकूफ हूं, क्षमा करें, मुझे फिर से पढ़ाएं। :(
मोहम्मद ने

62

। आसान: आप सभी की जरूरत है एक मजबूर धक्का है। क्योंकि आपने readme.mdजीथब पर फ़ाइल बनाई होगी और आपने इसे अभी तक नहीं खींचा है।

git push -f origin master

और यहाँ एक GIF है।

git पुश -f मूल गुरु

Folks BEWARE : forceएक ही परियोजना पर अन्य लोगों के लिए इतिहास को बदल सकते हैं। मूल रूप से, यदि आप सभी के लिए हटाई जा रही फ़ाइल के बारे में परवाह नहीं करते हैं, तो बस आगे बढ़ें। खासकर यदि आप इस परियोजना पर एकमात्र देव हैं।


1
ध्यान दें कि यह इतिहास इतिहास को बदल देता है कि इस भंडार के अन्य उपयोगकर्ता पहले ही प्राप्त कर चुके हैं। git push -f origin masterबनाने के लिए एक महान आदत नहीं है।
जॉन्सवेब

1
यह समाधान कमिटिंग पुश को हल कर सकता है लेकिन यह पिछले सभी कमियों को भी दूर करता है।
twenk11k

2
Bith Github noobs ... यदि आपने GitHub के माध्यम से Readme.md बनाया है, तो यह आपके नए बदलावों को धकेलता है क्योंकि यह इसे पूरा करेगा।
3

इसीलिए ज्यादातर लोग यहां उतरते हैं। -fटैग फ़ाइलों को हटाता है और देखभाल के साथ उपयोग किया जाना चाहिए।
अहमद ऐविस


8

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


6

ऐसा तब होता है जब आप शुरू में धक्का देने की कोशिश करते हैं। क्योंकि आपके GitHub रेपो में कोई भी रीडिंग है। M.m.md या कोई अन्य नई चीज जो आपके स्थानीय रेपो में नहीं है। सबसे पहले आपको अपने github repo.To के असंबंधित इतिहास को मर्ज करना होगा

git pull origin master --allow-unrelated-histories

तो आप इस का उपयोग करके रेपो (readMe.md या किसी भी) से अन्य फ़ाइलों को प्राप्त कर सकते हैं

git pull origin master

उसके बाद

git push -u origin master

अब आप सफलतापूर्वक Github repo. में अपने सभी परिवर्तनों को धक्का देते हैं। मैं git में विशेषज्ञ नहीं हूं लेकिन हर बार ये कदम मेरे लिए काम करते हैं।


5

यह देखते हुए कि यदि आपने कुछ समय में अपने परिवर्तन नहीं किए हैं, तो शायद ऐसा करना आपके लिए काम करेगा।

git add files
git commit -m "Your Commit"
git push -u origin master

मेरे लिए यह काम किया, उम्मीद है कि यह आपके लिए भी है।


3

यदि आप GUI में मैक के लिए git का उपयोग करते हैं तो आप Respository-> Pull या "comm + shift + p" को पहले "git pull" को चुन सकते हैं, फिर स्रोत को प्रकाशित करें।


3

यह त्रुटि तब होती है जब आप अपने स्थानीय निर्देशिका के डेटा को git कमांड का पालन करके अपने दूरस्थ git रिपॉजिटरी में धकेल देते हैं: git push -u origin master

के रूप में स्थानीय निर्देशिका और git दूरस्थ निर्देशिका की फ़ाइलों का विरोध किया।

उपाय :

चरणों के नीचे चरणों का पालन करने के लिए सभी फ़ाइलों को करने के बाद।

  1. दूरस्थ रिपॉजिटरी से फ़ाइलों को स्थानीय कामकाजी निर्देशिका के साथ इसके संघर्ष के रूप में प्राप्त करें।

    • git pull <remoter-url> <branch-name>
  2. फिर से बदलाव करें।

    • git add -A
    • git commit -m ‘<comment>'
  3. दोनों निर्देशिकाओं के साथ प्रतिबद्ध मर्ज फ़ाइलों के बाद आप उपयोग कर सकते हैं

    • git push -u origin master

इससे समस्या ठीक हो जाएगी। धन्यवाद।


1

मुझे एक समान समस्या थी ... मैंने इसे इस तरह हल किया (मैं एक गिट विशेषज्ञ नहीं हूं इसलिए मुझे नहीं पता कि यह एक सही समाधान है, लेकिन यह मेरे लिए काम करता है):

git pull origin master --allow-unrelated-histories
git merge origin origin/master
git rm README.md
git commit -m 'removed readme.md'
git push origin master

0

मैं एक घंटे से अधिक समय तक इस त्रुटि से जूझता रहा! नीचे मुझे इसे हल करने में मदद की गई है। यह सब तब जबकि मेरी कार्यशील निर्देशिका रेपो थी जिसे मैंने अपने सिस्टम पर क्लोन किया था।

यदि आप अपने मौजूदा रिपॉजिटरी में फाइल जोड़ रहे हैं ** 1. मैंने वह सब कुछ खींचा जो मैंने अपने रिपॉजिटरी में अपने GitHub फ़ोल्डर में जोड़ा था:

पकड़ खींचो


आउटपुट था- कुछ रीडमी फ़ाइल file1 file2

  1. मैंने अपनी क्लोन की हुई रिपॉजिटरी (GitHub repo) में अपनी नई फाइलें (जिन फाइलों को मैं पुश करना चाहता था) को कॉपी (ड्रैग और ड्रॉप) किया। जब आप यह रेपो करेंगे तो आपको अपनी पुरानी और नई फाइलें देखनी चाहिए।

जैसे। कुछ readme फ़ाइल file1 file2 newfile1 newfile2

  1. git add "newfile1" "newfile2"

  2. [वैकल्पिक] git स्टेटस यह आपको आश्वस्त करेगा कि आप जिन फ़ाइलों को जोड़ना चाहते हैं उनका सही तरीके से मंचन किया गया है या आउटपुट नहीं था


शाखा मास्टर पर आपकी शाखा 'मूल / मास्टर' के साथ अद्यतित है। किए जाने वाले परिवर्तन: ("रीसेट रीसेट हेड ..." को अनस्टेज करने के लिए)

    new file:   newfile1
    new file:   newfile2

5.जिट कमिट-एम "जो भी वर्णन आप देना चाहते हैं" 6.जित पुश

और पुराने के साथ मेरी सभी नई फाइलें मेरे रेपो में देखी गईं।


0

एक सरल उत्तर मैन्युअल रूप से README.MD फ़ाइल को आपके कंप्यूटर से GitHub पर अपलोड करना है। मेरे लिए बहुत अच्छा काम किया।


0

मैं शाखाओं के विकल्पों का उपयोग करता हूं, और फिर "दूरस्थ / मूल" फ़ोल्डर पर राइट क्लिक करें और फिर "रिमोट से शाखाओं को हटाएं" पर क्लिक करें, नीचे दी गई छवि देखें:

छवि


0

मुझे Azure Git पर यह त्रुटि मिली, और इससे समस्या हल हो गई:

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