मेरे पास एक git शाखा है (जिसे v4 कहा जाता है), जिसे कल ही मास्टर से बनाया गया था। मास्टर में कुछ बदलाव थे, जो मैं v4 में लाना चाहता हूं। इसलिए, v4 में, मैंने मास्टर से रिबेस करने की कोशिश की, और एक फ़ाइल चीजों को खराब करती रहती है: एक-लाइन टेक्स्ट फ़ाइल, जिसमें संस्करण संख्या होती है। यह फ़ाइल है app/views/common/version.txt
, जिसमें रिबासिंग से पहले यह पाठ शामिल है:
v1.4-alpha-02
यहाँ मैं क्या कर रहा हूँ:
> git rebase master
First, rewinding head to replay your work on top of it...
Applying: new version, new branch
error: patch failed: app/views/common/version.txt:1
error: app/views/common/version.txt: patch does not apply
Using index info to reconstruct a base tree...
Falling back to patching base and 3-way merge...
Auto-merging app/views/common/version.txt
CONFLICT (content): Merge conflict in app/views/common/version.txt
Failed to merge in the changes.
Patch failed at 0001 new version, new branch
When you have resolved this problem run "git rebase --continue".
If you would prefer to skip this patch, instead run "git rebase --skip".
To restore the original branch and stop rebasing run "git rebase --abort".
version.txt
अब इस तरह दिखता है:
<<<<<<< HEAD:app/views/common/version.txt
v1.4-alpha-02
=======
v1.4-alpha-01
>>>>>>> new version, new branch:app/views/common/version.txt
तो, मैं इसे साफ करता हूं और यह अब इस तरह दिखता है:
v1.4-alpha-02
और फिर मैंने ले जाने की कोशिश की: पहले तो मैंने एक कोशिश की:
> git commit -a -m "merged"
# Not currently on any branch.
nothing to commit (working directory clean)
वहां कोई किस्मत नहीं। इसलिए, मैं फ़ाइल जोड़ने का प्रयास कर रहा था:
git add app/views/common/version.txt
कोई जवाब नहीं। कोई खबर अच्छी खबर नहीं है, मुझे लगता है। इसलिए, मैं जारी रखने की कोशिश करता हूं:
> git rebase --continue
Applying: new version, new branch
No changes - did you forget to use 'git add'?
When you have resolved this problem run "git rebase --continue".
If you would prefer to skip this patch, instead run "git rebase --skip".
To restore the original branch and stop rebasing run "git rebase --abort".
यह इस बिंदु पर है, इस के साथ गोल-गोल घूमने के बाद, कि मैं डेस्क से अपना सिर पीट रहा हूं।
यहाँ क्या चल रहा है? मैं क्या गलत कर रहा हूं? क्या कोई मुझे सीधा खड़ा कर सकता है?
EDIT - अनटुब के लिए
मैंने आपके द्वारा सुझाई गई फ़ाइल को बदल दिया और वही त्रुटि प्राप्त की:
> git rebase master
First, rewinding head to replay your work on top of it...
Applying: new version, new branch
error: patch failed: app/views/common/version.txt:1
error: app/views/common/version.txt: patch does not apply
Using index info to reconstruct a base tree...
Falling back to patching base and 3-way merge...
Auto-merging app/views/common/version.txt
CONFLICT (content): Merge conflict in app/views/common/version.txt
Failed to merge in the changes.
Patch failed at 0001 new version, new branch
When you have resolved this problem run "git rebase --continue".
If you would prefer to skip this patch, instead run "git rebase --skip".
To restore the original branch and stop rebasing run "git rebase --abort".
git rebase master
और इसे विफल होने दें ; 2) फिर आप version.txt
इसे संपादित करते हैं और जैसा कि उस बिंदु को देखना चाहिए, और संपादित करें को बचाएं; 3) फिर आप git add .../version.txt
; 4) तब आप git rebase --continue
( 'कमिट नहीं ' ) करते हैं! यदि rebase --continue
यहां सफल होता है, तो यह पहले से ही प्रतिबद्ध है (यहां कोई ज़रूरत नहीं git commit
है!) - इसलिए यह सब करना बाकी है git push
(यदि आप रिमोट रेपो का उपयोग करते हैं)। आशा है कि यह मदद करता है, अगर मुझे यह सही मिला :)
- चीयर्स!