धक्का नहीं दे सकता है बस जब मैंने सोचा कि मुझे गिट चेकआउट -बी न्यूब्रैंच - प्रतिबद्ध/प्रतिबद्ध/प्रतिबद्ध - गिट चेकआउट मास्टर - गिट विलय newbranch - git rebase -i मास्टर - गिट पुश गिट में वर्कफ़्लो, कुछ उड़ा, और मुझे इसके लिए कोई कारण नहीं दिख रहा है।गिट स्थानीय मास्टर शाखा ने रिमोट/मूल/मास्टर को ट्रैक करना बंद कर दिया है,
यहाँ सामान्य कार्यप्रवाह, जो अतीत में मेरे लिए काम किया है है:
# make sure I'm up to date on master:
$ git checkout master
$ git pull # k, no conflicts
# start my new feature
$ git checkout -b FEATURE9 # master @ 2f93e34
Switched to a new branch 'FEATURE9'
... काम, प्रतिबद्ध, काम, प्रतिबद्ध, काम, प्रतिबद्ध ...
$ git commit -a
$ git checkout master
$ git merge FEATURE9
$ git rebase -i master # squash some of the FEATURE9 ugliness
अभी तक ठीक है; अब मैं क्या देखने की उम्मीद - - और सामान्य रूप से दिख रहा है यह है:
$ git status
# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
#
nothing to commit (working directory clean)
लेकिन बजाय, मैं सिर्फ देख "प्रतिबद्ध करने के लिए कुछ भी नहीं (कार्यशील निर्देशिका स्वच्छ)", नहीं "आपका शाखा आगे है 'मूल/मास्टर' के 1 से प्रतिबद्ध ", और Git पुल इस weirdness पता चलता है:।
$ git pull
From . # unexpected
* branch master -> FETCH_HEAD # unexpected
Already up-to-date. # expected
और Git शाखा -एक -v यह दिखाता है:
$ git branch -a -v
FEATURE9 3eaf059 started feature 9
* master 3eaf059 started feature 9
remotes/origin/HEAD -> origin/master
remotes/origin/master 2f93e34 some boring previous commit # should=3eaf059
गिट शाखा स्पष्ट रूप से दिखाती है कि मैं वर्तमान में * मास्टर पर हूं, और गिट लॉग स्पष्ट रूप से दिखाता है कि मास्टर (स्थानीय) 3eaf059 पर है, जबकि रिमोट/मूल/HEAD -> रिमोट/मूल/मास्टर कांटा पर वापस अटक गया है।
आदर्श रूप से मैं इस बारे में जानना चाहता हूं कि मैं इसमें कैसे प्राप्त कर सकता हूं, लेकिन मैं फिर से रिमोट मास्टर को ट्रैक करने वाली मेरी कार्यशील प्रति प्राप्त करने के लिए एक रास्ता तय करूंगा & इतिहास खोने के बिना दो बार सिंक में मिलता है। धन्यवाद!
(नोट: मैं रेपो एक नया निर्देशिका में फिर से क्लोन और मैन्युअल रूप से परिवर्तन फिर से लागू है, और सब कुछ ठीक काम किया, लेकिन मुझे लगता है कि मानक वैकल्पिक हल होने के लिए नहीं करना चाहती।)
Addendum: शीर्षक कहता है "धक्का नहीं दे सकता", लेकिन कोई त्रुटि संदेश नहीं है। गिट शाखा-ए-वी दिखाता है कि स्थानीय मास्टर/रिमोट/मूल/मास्टर से आगे है, तो मुझे बस "पहले से अद्यतित" प्रतिक्रिया मिलती है।
$ git pull
From .
* branch master -> FETCH_HEAD
Already up-to-date.
$ git remote -v
origin [email protected]:proj.git (fetch)
origin [email protected]:proj.git (push)
परिशिष्ट 2:: यहाँ Git से उत्पादन खींच और Git दूरस्थ -v क्रमश है ऐसा लगता है जैसे अपने स्थानीय गुरु के दूरदराज के धक्का लिए कॉन्फ़िगर किया गया है, लेकिन नहीं इसे खींचो। for remote in 'git branch -r | grep -v master '; do git checkout --track $remote ; done
करने के बाद, मेरे पास यह है। ऐसा लगता है कि मुझे मास्टर को को रिमोट/मूल/मास्टर से फिर से खींचने की आवश्यकता है, नहीं?
$ git remote show origin
* remote origin
Fetch URL: [email protected]:proj.git
Push URL: [email protected]:proj.git
HEAD branch: master
Remote branches:
experiment_f tracked
master tracked
Local branches configured for 'git pull':
experiment_f merges with remote experiment_f
Local refs configured for 'git push':
experiment_f pushes to experiment_f (up to date)
master pushes to master (local out of date)
क्या आप अपने प्रश्न में 'git remote -v' से आउटपुट जोड़ सकते हैं। –
इसके अलावा, आप शीर्षक शीर्षक 'पुश' के साथ समस्याओं का संदर्भ देते हैं, लेकिन आपके पास 'push' के साथ त्रुटि संदेशों के बारे में कोई जानकारी नहीं है। –
आपको रिमोट्स (यानी आपकी 'मास्टर' शाखा) ट्रैक करने वाली शाखाओं को रिब करने के साथ सावधान रहना होगा क्योंकि यह इतिहास को फिर से लिख देगा और या तो स्वयं या आपके रिमोट-रिपोजिटरी को भ्रमित करना संभव है। यदि आप स्क्वैश करना चाहते हैं तो आप उन्हें फीचर शाखा * पर स्क्वैश करना चाहते हैं * इससे पहले कि यह मास्टर तक विलय हो जाए, जब तक कि आप इसके साथ अधिक आरामदायक न हों। – nickgrim