Cjku/git: Difference between revisions

200 bytes added ,  29 October 2014
Line 409: Line 409:


# Modify a file:  
# Modify a file:  
#* A[Yes] B[Yes] C[Yes] Pass. After checkout done, change in working directory will be kept/ cache will be clear.
#* A[Yes] B[Yes] C[Yes] Pass. After checkout done, keep change in working directory, clear change in cache.
#* A[Yes] B[Yes] C[No]  Pass. After checkout done, change in working directory will be kept.
#* 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]  Abort.
#* A[Yes] B[No]  C[No]  Abort.
Line 416: Line 416:
#* A[No]  B[N/A] C[No]  Abort.
#* A[No]  B[N/A] C[No]  Abort.
# Add a file:
# Add a file:
#* A[Yes] B[Yes] C[Yes] Pass. After checkout done, change in working directory will be kept/ cache will be clear.
#* A[Yes] B[Yes] C[Yes] Pass. After checkout done, keep change in working directory, clear change in cache.
#* A[Yes] B[Yes] C[No]  Abort.
#* A[Yes] B[Yes] C[No]  Abort.
#* A[Yes] B[No]  C[Yes] Abort.
#* A[Yes] B[No]  C[Yes] Abort.
#* A[Yes] B[No]  C[No]  Abort.
#* A[Yes] B[No]  C[No]  Abort.
#* A[No]  B[N/A] C[Yes] Pass. After checkout done, change in working directory will be kept/ cache will be kept.
#* A[No]  B[N/A] C[Yes] Pass. After checkout done, keep change in working directory, keep change in cache.
#* A[No]  B[N/A] C[No]  Pass. After checkout done, change in working directory will be kept.
#* A[No]  B[N/A] C[No]  Pass. After checkout done, keep change in working directory.
# Delete a file:
# Delete a file:
#* A[Yes] B[Yes] C[Yes] Pass. After checkout done, change in working directory will be kept/ cache will be kept.
#* A[Yes] B[Yes] C[Yes] Pass. After checkout done, keep change in working directory, keep change in cache.
#* A[Yes] B[Yes] C[No]  Pass. After checkout done, change in working directory will be kept.
#* 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, change in working directory will be clear.
#* A[Yes] B[No]  C[No]  Pass. After checkout done, clear change in working directory.
#* A[No]  B[N/A] C[Yes] Pass. After checkout done, change in working directory will be kept/ cache will be clear.
#* 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, change in working directory will be kept.
#* A[No]  B[N/A] C[No]  Pass. After checkout done, keep change in working directory.


Very scary ...
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 patch. 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