• Newer commands

    • Switch
    • Restore
    • Work tree: add multiple working directories as subdirectories, letting you avoid needing to stash your work when you need to switch tasks , and instead work on multiple tasks at once
  • Bisect algo: article

    1. starting from the "good" ends of the graph, associate to each commit the number of ancestors it has plus one

    For example with the following graph where H is the "bad" commit and A and D are some parents of some "good" commits:

    A-B-C
         \\
          F-G-H
         /
    D---E
    

    this will give:

    1 2 3
    A-B-C
         \\6 7 8
          F-G-H
    1   2/
    D---E
    
    1. associate to each commit: min(X, N - X)

    where X is the value associated to the commit in step 2) and N is the total number of commits in the graph.

    In the above example we have N = 8, so this will give:

    1 2 3
    A-B-C
         \\2 1 0
          F-G-H
    1   2/
    D---E
    
    1. the best bisection point is the commit with the highest associated number

    So in the above example the best bisection point is commit C.