Cjku/git: Difference between revisions

103 bytes added ,  29 October 2014
Line 424: Line 424:
#* A[Yes] B[Yes] C[No]  Pass. After checkout done, keep change in working directory.
#* A[Yes] B[Yes] C[No]  Pass. After checkout done, keep change in working directory.
#* A[Yes] B[No]  C[Yes] Abort.
#* A[Yes] B[No]  C[Yes] Abort.
#* A[Yes] B[No]  C[No]  Pass. After checkout done, clear change in working directory.
#* A[Yes] B[No]  C[No]  Pass. After checkout done, <span style="color:red">clear</span> change in working directory.
#* A[No]  B[N/A] C[Yes] Pass. After checkout done, keep change in working directory, clear change in cache.
#* A[No]  B[N/A] C[Yes] Pass. After checkout done, keep change in working directory, clear change in cache.
#* A[No]  B[N/A] C[No]  Pass. After checkout done, keep change in working directory.
#* A[No]  B[N/A] C[No]  Pass. After checkout done, keep change in working directory.


10 out of 18 cases pass conflict test. 2 of these 10 cases keep your change in cache. Very scary ... If you checkout from a dirty branch with no conflict, many unexpected symptoms appears. Such as commit an unexpected file which was added from another branch. My suggestion is create a git alias, do some status checking before checkout. May refer to http://goo.gl/SVNMtW
10 out of 18 cases pass conflict test. 2 of these 10 cases keep your change in cache. In 1 of these 10 cases, you still lose the change in working directory. Very scary ... If you checkout from a dirty branch with no conflict, many unexpected symptoms appears. Such as commit an unexpected file which was added from another branch. My suggestion is create a git alias, do some status checking before checkout. May refer to http://goo.gl/SVNMtW


So, how to resolve aborting? Different strategies for different situations
So, how to resolve aborting? Different strategies for different situations
Confirmed users
1,643

edits