संभवतः दो शाखाओं को करने और प्रतिबद्ध करने के लिए 'गिट पुश' का कारण क्या होगा? मेरी अपनी शाखा है जिस पर मैं काम कर रहा हूं, जो साझा रेपो ... और एक मास्टर शाखा पर है। अभी मैं बस अपनी निजी शाखा में धक्का देना चाहता था जो ठीक से चला गया, लेकिन उसने मास्टर को धक्का देने की कोशिश की और खारिज कर दिया।इस गिट पुश में दो शाखाओं को गिट क्यों दबा रहा है?
foo$ git push
Counting objects: 38, done.
Delta compression using 2 threads.
Compressing objects: 100% (19/19), done.
Writing objects: 100% (21/21), 9.73 KiB, done.
Total 21 (delta 14), reused 0 (delta 0)
To ssh://example.com/project.git
8184634..86b621e mybranch -> mybranch
! [rejected] master -> master (non-fast forward)
error: failed to push some refs to 'ssh://example.com/project.git'
मेरे config इस तरह दिखता है:
remote.origin.url=ssh://example.com/project.git
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
branch.master.remote=origin
branch.master.merge=refs/heads/master
branch.mybranch.remote=origin
branch.mybranch.merge=refs/heads/mybranch
Esko लिखते हैं कि यह दोनों के लिए जोर दे रहा है, क्योंकि वे मेरी config में हैं कुछ इस तरह देखा। क्या होगा यदि मैं दोनों को धक्का देना चाहता हूं, बस एक साथ नहीं? जब मेरे पास माइब्रैंच की जांच हो जाती है और मैं धक्का देता हूं, तो मेरा स्पष्ट रूप से मायब्रैंच को धक्का देना और मास्टर नहीं करना है। ऐसे समय होते हैं जब मैं मास्टर चेकआउट करूँगा, कोड संपादित करूंगा, और उसे भी प्रतिबद्ध/धक्का देना चाहता हूं। दोनों सह-अस्तित्व के लिए एक तरीका है?
है क्या होगा यदि मैं पर उन दोनों को पुश करने के लिए, बस नहीं करना चाहते उसी समय?कई बार मैं सिर्फ अपने ब्रैंच को धक्का देना चाहता हूं, और ऐसे समय होते हैं जब मैं अपने ब्रैंच को मास्टर में विलय कर दूंगा और मास्टर को धक्का देना चाहता हूं। उस मामले में कोई क्या करता है? – Coocoo4Cocoa
आप "गिट पुश" फ़ॉर्म का उपयोग करके हमेशा उस शाखा को स्पष्ट रूप से नामित कर सकते हैं जिसे आप धक्का देना चाहते हैं। देखें http://www.kernel.org/pub/software/scm/git/docs/git-push.html –
गिट के नए संस्करण आपको इस व्यवहार को निर्दिष्ट करने की अनुमति देते हैं। – Dustin