realize 1.status, 2.branch, 3.checkout