क्या कुछ प्रतिबद्धता के लिए "संपार्श्विक" काम करने के लिए कोई तरीका है (जो समान लाइनों को संपादित कर रहे हैं और परिणामस्वरूप संघर्ष करेंगे)?गिट रिवर्ट: वास्तविक वापसी से पहले संभावित विरोधाभासी प्रतिबद्धताओं की पहचान करना संभव है?
एक बहुत ही सरल उदाहरण
$ git init
$ echo test > test
$ git add test
$ git commit -m "First commit"
$ echo test1 > test
$ git commit -am "Second commit"
$ git l
* 95a29dd Second commit
* 30a68e6 First commit
$ type test
test1
जो भी कारण रहा 30a68e6
वापस करना चाहते हैं के लिए इस बिंदु पर यह मानते हुए कि।
$ git revert 30a68e6
error: could not revert 30a68e6... First commit
hint: after resolving the conflicts, mark the corrected paths
hint: with 'git add <paths>' or 'git rm <paths>'
hint: and commit the result with 'git commit'
जाहिर है, इस एक संघर्ष का परिणाम देगा, 95a29dd
के बाद से, एक ही पंक्ति का संपादन किया।
क्या यह पता लगाना संभव है कि 30a68e6
को वापस करने से एक संघर्ष होगा, और यदि ऐसा है, तो क्या प्रतिबद्ध है (यानी 95a29dd
)?
थोड़ा सा संदर्भ देने के लिए, मुझे इसकी आवश्यकता है, क्योंकि मुझे कुछ स्वचालित रूप से वापस करने की आवश्यकता है। इस मामले में, अगर मुझे पता है कि 30a68e6
वापस किया जाना चाहिए, तो मैं "संपार्श्विक" कामों की पहचान करने में सक्षम होना चाहता हूं, जिसे किसी भी संघर्ष से बचने के लिए पहले वापस किया जाना चाहिए (जैसे 30a68e6
)। मुझे पता है कि सब कुछ 30a68e6..HEAD
वापस कर रहा है, काम करेगा, लेकिन मैं उन कामों को वापस करने से बचना चाहता हूं जो 30a68e6
के साथ संघर्ष नहीं करेंगे।
निकट से संबंधित: http://stackoverflow.com/q/29517440 क्या तुम कर सकते हो वापस लाएं आपरेशन के निकास की स्थिति की जांच, और, अगर यह अशून्य है,
git revert --abort
चलाने वापसी रद्द करने है/2541573 – Jubobsकुछ हद तक संबंधित: https://github.com/felipec/git-related – max630