दिलचस्प पोस्ट
फिर भी एक और क्रॉस-डोमेन आईफ्रेम का आकार बदलता है क्यू एंड ए बहुभाषी डेटा रखने के लिए सर्वश्रेष्ठ डेटाबेस संरचना क्या है? सूची दृश्य के लिए कस्टम एडाप्टर पास कभी एक IOException फेंक है? एक अजाक्स कॉल के साथ फ़ंक्शन से वापसी मूल्य एंड्रॉइड एनडीके: एक प्री-कंपाइल किए गए स्थैतिक लाइब्रेरी का उपयोग करके लिंक एनसीडीट काट (शून्य-आउट समय) मैं एक गीथहब पुल अनुरोध कैसे देख सकता हूं? Xcode, जहां segue पहचानकर्ता निर्दिष्ट करने के लिए एकाधिक संदेश प्रकारों को संभालने के लिए डिज़ाइन पैटर्न एक विधि का पुन: शुद्ध करने का सबसे अच्छा तरीका क्या है जिसमें बहुत अधिक (6+) मापदंड हैं? ClassLoader.getResources () सही तरीके से कैसे उपयोग करें? जेथन और अजगर मॉड्यूल ऊंचाई में EXC_BAD_ACCESS फ़ायररो I कैसे एक आईओएस से एक MySQL डाटाबेस से कनेक्ट करने के लिए?

git: एक्स शाखा द्वारा आपकी शाखा आगे है

यह कैसे वास्तव में आती है?

मैं फिलहाल एक रेपो में काम कर रहा हूं, इसलिए यह मेरा कार्यप्रवाह है:

  1. फ़ाइलें बदलें
  2. कमिट
  3. संतुष्ट होने तक 1-2 दोहराएं
  4. मास्टर को पुश करें

तब जब मैं एक git status करता हूं, तो मुझे यह बताता है कि मेरी शाखा एक्स कमिट (संभवत: उसी कमान की जो मैंने बनाई है) से आगे है। क्या यह इसलिए है जब आप कोड को धक्का देते हैं, यह वास्तव में आपके स्थानीय कैश फाइलों (.git फ़ोल्डर्स) में अपडेट नहीं करता है? git pull को यह अजीब संदेश ठीक करने के git pull लगता है, लेकिन मैं अभी भी उत्सुक हूं कि ऐसा क्यों होता है, शायद मैं गिट का गलत इस्तेमाल कर रहा हूं?


संदेश में किस शाखा को प्रिंट किया गया है

मेरी स्थानीय शाखा मास्टर से आगे है

आप वर्तमान शाखा को पुश करते / खींचते हैं

मैं गीथहब को धक्का दे रहा हूं और समय पर उस कंप्यूटर पर खींच रहा हूं जो मेरे साथ काम करता है, मेरी स्थानीय प्रति हमेशा पूरी तरह से अद्यतित होती है क्योंकि मैं उस पर काम कर रहा हूं।

यह वास्तव में दूरस्थ रेपो की जांच नहीं करता है

यही मैंने सोचा था, मुझे लगा कि मैं यह सुनिश्चित कर सकता हूं कि मेरी समझ में यह सही था।

क्या आप इसे कुछ अतिरिक्त तर्क पारित कर रहे हैं?

जिन लोगों को मैं देख सकता हूं, हो सकता है कि मेरे अंत में कुछ मजेदार कॉन्फ़िग चल रहा हो?

 $ git status # On branch master # Your branch is ahead of 'origin/master' by 1 commit. # nothing to commit (working directory clean) 

Solutions Collecting From Web of "git: एक्स शाखा द्वारा आपकी शाखा आगे है"

यदि आप यह संदेश git pull remote branch बाद प्राप्त करते हैं, तो इसे एक git fetch साथ आज़माएं (वैकल्पिक रूप से, रेपो से हटाई गई शाखाओं को git fetch -p लिए git fetch -p चलाएं)

प्राप्त करें दूरस्थ शाखा के स्थानीय प्रतिनिधित्व को अद्यतन करने के लिए लगता है, जो जरूरी नहीं होता जब आप एक git pull remote branch

उपयोग

 git pull --rebase 

–rebase विकल्प का मतलब है कि git आपके स्थानीय प्रतिबद्ध को एक तरफ स्थानांतरित कर देगा, रिमोट के साथ सिंक्रनाइज़ करेगा और फिर अपने कमान नए राज्य से लागू करने का प्रयास करें।

मुझे लगता है कि आप संदेश को गलत कह रहे हैं – आपकी शाखा master आगे नहीं है, यह master यह origin/master आगे है, जो कि एक दूरस्थ ट्रैकिंग शाखा है जो आपके अंतिम push , pull , या fetch से दूरस्थ रिपॉजिटरी की स्थिति को रिकॉर्ड करता है। यह आपको बता रहा है कि आपने क्या किया था; आप रिमोट से आगे हो गए और यह आपको पुश करने के लिए याद दिला रहा है

किसी ने कहा है कि आप अपना संदेश गलत तरीके से पढ़ सकते हैं, आप नहीं हैं यह समस्या वास्तव में आपके <project>/.git/config फाइल से जुड़ी है इसमें इस तरह के एक अनुभाग होंगे:

 [remote "origin"] url = <url> fetch = +refs/heads/*:refs/remotes/origin/* 

यदि आप अपने प्रोजेक्ट की .git / config फाइल से फ़ेच लाइन को निकालते हैं तो आप "आपकी शाखा ' N कमिट्स द्वारा मूल / मास्टर' से आगे हैं।" होने से झुंझलाहट

या तो मुझे आशा है 🙂

इन 3 सरल आदेशों का उपयोग करें

चरण 1 : git checkout <branch_name>

चरण 2 : git pull -s recursive -X theirs

चरण 3 : git reset --hard origin/<branch_name>

अधिक विवरण: https://stackoverflow.com/a/39698570/2439715

का आनंद लें।

मेरे मामले में यह इसलिए था क्योंकि मैं मास्टर का उपयोग करके स्विच करता था

  git checkout -B master 

इसके बजाय इसके नए संस्करण को खींचने के लिए

  git checkout master 

पहली कमांड मास्टर के सिर को मेरे नवीनतम प्रतिबद्धता के लिए रीसेट करता है

मैंनें इस्तेमाल किया

 git reset --hard origin/master 

इसे ठीक करने के लिए

मुझे विंडोज मशीन पर यह एक ही समस्या थी। जब मैं एक git pull origin master कमांड चलाता हूं, तो मुझे "एक्स के मुकाबले 'मूल / मास्टर' एक्स कमिट्स 'चेतावनी मिलेगी। मैंने पाया कि अगर मैं git pull origin बजाय git pull origin चलाता हूं और शाखा निर्दिष्ट नहीं करता, तो मुझे अब चेतावनी प्राप्त नहीं होगी।

यह आपको वर्तमान शाखा और शाखा के बीच का अंतर याद दिलाता है जो वर्तमान ट्रैक को दर्शाता है कृपया अधिक जानकारी प्रदान करें, जिसमें संदेश में कोई शाखा छपी हुई है और आप वर्तमान शाखा को पुश करने / खींचने के लिए कहां शामिल हैं।

यद्यपि यह सवाल थोड़ा पुराना है … मैं एक ऐसी ही स्थिति में था और मेरा जवाब यहां एक समान समस्या को ठीक करने में मेरी मदद करता है

पहले push -f या बल विकल्प के साथ प्रयास करें

अगर यह काम नहीं करता है तो संभव है कि (मेरे मामले में) रिमोट रिपॉजिटरी (या रिमोट रिपॉजिटरी के संदर्भ जो कि git remote -v पर दिखाए जाते हैं) संभवतः अद्यतन नहीं हो रहे हैं

ऊपर का परिणाम आपका पुश आपके स्थानीय / शाखा को आपकी रिमोट / शाखा के साथ समन्वित करता है, तथापि, आपके स्थानीय रेपो में कैश अभी भी पिछले कमोड (स्थानीय / शाखा की … दिखाता है कि केवल एकल प्रतिबद्ध को धक्का दिया गया था) हेड के रूप में दिखाया गया है।

किसी भिन्न स्थान पर ऊपर के क्लोन को क्लोन की पुष्टि करने के लिए और स्थानीय / शाखा सिर और रिमोट / शाखा के मुकाबले की तुलना करने का प्रयास करें। यदि वे दोनों समान हैं तो आप संभवत: मेरे द्वारा किए गए मुद्दे का सामना कर रहे हैं।

उपाय:

 $ git remote -v github git@github.com:schacon/hw.git (fetch) github git@github.com:schacon/hw.git (push) $ git remote add origin git://github.com/pjhyett/hw.git $ git remote -v github git@github.com:schacon/hw.git (fetch) github git@github.com:schacon/hw.git (push) origin git://github.com/pjhyett/hw.git (fetch) origin git://github.com/pjhyett/hw.git (push) $ git remote rm origin $ git remote -v github git@github.com:schacon/hw.git (fetch) github git@github.com:schacon/hw.git (push) 

अब एक push -f जैसा कि निम्न प्रकार है

git push -f github master ### ध्यान दें कि आपके आदेश में origin नहीं है!

एक git pull अब git pull github master

git status प्राप्त करें

# On branch master

nothing to commit (working directory clean)

मुझे उम्मीद है कि किसी के लिए यह उपयोगी है क्योंकि विचारों की संख्या इतनी ऊंची है कि इस त्रुटि की खोज लगभग हमेशा इस धागे को शीर्ष पर दिखाती है

विवरण के लिए भी gitref देखें

मैं वास्तव में ऐसा हो रहा था जब मैं TortiseGIT के साथ एक स्विच / चेकआउट कर रहा था

मेरी समस्या यह थी कि मैंने एक अन्य स्थानीय शाखा के आधार पर शाखा बनाई थी। इसे /.git/config में एक "मर्ज" प्रविष्टि बनाया है जो इस तरह से कुछ दिखाई दे:

 [branch "web"] merge = refs/heads/develop remote = gitserver 

जहां भी मैं "वेब" शाखा में जाता हूं, यह कह रहा था कि मैं विकास के आगे 100 + कमाई करता हूं। खैर, मैं अब ऐसा विकसित करने की कोशिश नहीं कर रहा था जो सच था। मैं बस इस प्रविष्टि को दूर करने में सक्षम था और यह अपेक्षित रूप से काम करता है यह विकास शाखा के पीछे रहने के बारे में शिकायत करने के बजाय दूरदराज के रेफरी के साथ ट्रैकिंग है

जैसा कि विक्रम ने कहा, इस समस्या के लिए खोज करते समय यह स्टैक ओवरफ़्लो धागा Google का शीर्ष परिणाम है, इसलिए मैंने सोचा कि मैं अपनी स्थिति और समाधान को साझा करूँगा

जिन सुझावों का सुझाव है कि git pull या git fetch सही हैं
संदेश उत्पन्न होता है जब git status .git/FETCH_HEAD और .git/FETCH_HEAD .git/refs/remotes/<repository>/<branch> (जैसे .git/refs/remotes/origin/master ) के बीच अंतर दिखाई देता है।

उत्तरार्द्ध फाइल अंतिम फैच से सिर को रिकॉर्ड करती है (रिपॉजिटरी / शाखा के लिए) git fetch दोनों फाइल्स को शाखा के वर्तमान हेड में अपडेट करें
बेशक, अगर कुछ भी लाने के लिए कुछ नहीं है (क्योंकि स्थानीय रिपॉजिटरी पहले से ही अप-टू-डेट है) .git/FETCH_HEAD नहीं बदलता है

मेरे मंच सर्वर पर यह समस्या थी, जहां मैं केवल खींचता हूं। और हार्ड रीसेट ने मुझे सिर को रिमोट के समान स्वच्छ करने में मदद की।

 git reset --hard origin/master 

तो अब मैं फिर से है:

 On branch master Your branch is up-to-date with 'origin/master'. 

मैं इस पृष्ठ पर हर समाधान के माध्यम से गया, और सौभाग्य से @ एनाटोली-पाज़िन ने टिप्पणी की क्योंकि उनके समाधान ने काम किया था दुर्भाग्य से मेरे पास उसे ऊपर उठाने के लिए पर्याप्त प्रतिष्ठा नहीं है, लेकिन मैं पहले उसका समाधान करने की सलाह देता हूं:

 git reset --hard origin/master 

जो मुझे दिया था:

 HEAD is now at 900000b Comment from my last git commit here 

मैं यह भी सुझाव देता हूं:

 git rev-list origin..HEAD # to see if the local repository is ahead, push needed git rev-list HEAD..origin # to see if the local repository is behind, pull needed 

आप भी उपयोग कर सकते हैं:

 git rev-list --count --left-right origin/master...HEAD # if you have numbers for both, then the two repositories have diverged 

शुभकामनाएँ

मैं उपरोक्त @Marian Zburlia द्वारा उल्लेखित जैसा ही दोहराना चाहूंगा यह मेरे लिए काम किया और दूसरों को भी यही सुझाव देगा

git pull origin develop

$ git pull --rebase द्वारा पीछा किया जाना चाहिए

यह नवीनतम पुल के बाद $ git status पर आने वाली टिप्पणियों को निकाल देगा।