git bisect
का उपयोग करते समय, कोई भी git bisect skip
चला सकता है, वर्तमान प्रतिबद्धता को एक निर्विवाद/अवांछनीय होने के रूप में चिह्नित करने के लिए, गिट को इसके बजाय परीक्षण करने के लिए कुछ अन्य प्रतिबद्धता लेने के लिए प्राप्त करने के लिए चला सकता है।गिट bisect skip कैसे कोशिश करने के लिए अगली प्रतिबद्धता का चयन करता है?
गिट कैसे git bisect skip
के बाद प्रयास करने का प्रयास करता है? प्रयोग से पता चलता है कि यह सिर्फ एक निकट प्रतिबद्ध नहीं है, लेकिन मैं पैटर्न को काम नहीं कर सकता।
संपादित: मुझे पता है बुनियादी git bisect
एक द्विआधारी खोज है हूँ, लेकिन मैं git bisect skip
, जो स्पष्ट रूप से कुछ और अधिक जटिल कर रहा है के बारे में उत्सुक हूँ।
प्रयोग से पता चलता है कि यह सिर्फ आसन्न प्रतिबद्धता नहीं उठा रहा है; नीचे 100 0 अंकों की संख्या 0 – 99 बनाता है, फिर उन्हें विभाजित करना शुरू होता है। पहली प्रतिबद्धता git bisect
चुनौतियों के बीच में है, लेकिन प्रत्येक git bisect skip
उसके बाद यादृच्छिक रूप से चुने गए हैं।
$ git init
Initialized empty Git repository in .git/
$ for ((i=0; i<100; i++)); do echo $i > file; git add file; git commit -m $i >/dev/null; done # Create some dummy commits
$ git bisect start HEAD $(git rev-list --max-parents=0 HEAD) # HEAD is bad, root commit is good.
Bisecting: 49 revisions left to test after this (roughly 6 steps)
[099e5cf2ccde625f92dc369da6cad0bdf2852ce4] 49
$ git bisect skip
Bisecting: 49 revisions left to test after this (roughly 6 steps)
[88c8208a7c4322222124167e49f07c741af7d3d8] 60
$ git bisect skip
Bisecting: 49 revisions left to test after this (roughly 6 steps)
[04695f2e5b2473c3ac72435c0dbfc3ba1375abda] 88
$ git bisect skip
Bisecting: 49 revisions left to test after this (roughly 6 steps)
[1e9bf3d29589bcac2d8c467245ae8d446c195252] 40
$ git bisect skip
Bisecting: 49 revisions left to test after this (roughly 6 steps)
[9459ed79e4112d674681c8f0f921127217c7ebc6] 13
क्या आपने प्रलेखन पढ़ा था? मैं कहता हूं कि यह एक बाइनरी खोज का उपयोग करता है। https://git-scm.com/docs/git-bisect – crashmstr
@crashmstr क्या आपने किया? यह वास्तव में subcommand * छोड़ * पर बहुत स्पष्ट नहीं है। –
@crashmstr: मुझे पता है कि 'गीट बिसेक्ट' का मूल उपयोग एक बाइनरी खोज है। लेकिन 'गिट बिस्केट स्किप' सिर्फ बाइनरी खोज नहीं हो सकता है क्योंकि यह एक बाइनरी खोज _does_ नहीं है। और हाँ, मैंने प्रलेखन के माध्यम से ट्रेल किया है और यहां पूछने से पहले सोर्स कोड को देखने की कोशिश करना शुरू कर दिया है, और मुझे कहीं भी नहीं मिल रहा है जो बताता है कि 'गिट बिसेक्ट स्किप' के बाद अगली प्रतिबद्धता कैसे चुनी जाती है। –