git checkout一个文件的时候,可以把文件恢复到某个版本,但是我们有时候,改了一个文件,比如删除了一个函数,添加了另外一个函数,我们想把删除的函数加回来,这时候,如果直接checkout,那么新加的函数会被删除。
当前改动:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | $ git diff api/helper.c diff --git a/src/api/helper.c b/src/api/helper.c index fe4bf5b..f12060c 100644 --- a/src/api/helper.c +++ b/src/api/helper.c @@ -171,19 +171,6 @@ const char *find_kv(struct key_val *kv, const char *key) return NULL; } -const char *ts_str() -{ - static char ts[24]; - struct timespec sp; - uint64_t v; - clock_gettime(CLOCK_REALTIME, &sp); - v = sp.tv_sec; - v *= 1000; - v += sp.tv_nsec / 1000000; - sprintf(ts, "%" PRIu64, v); - return ts; -} - int upper_hex(const char *in, int len, char *out, int sz) { int i; @@ -480,6 +467,17 @@ int ts() return (int)ts.tv_sec; } +int64_t tsms() +{ + struct timespec sp; + int64_t v; + clock_gettime(CLOCK_REALTIME, &sp); + v = sp.tv_sec; + v *= 1000; + v += sp.tv_nsec / 1000000; + return v; +} + |
我想把ts_str()保留回来,可以使用-p选项,没处改动,都会让你选择如何处理,y是恢复,n是去掉
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | $ git co -p api/helper.c diff --git a/src/api/helper.c b/src/api/helper.c index fe4bf5b..f12060c 100644 --- a/src/api/helper.c +++ b/src/api/helper.c @@ -171,19 +171,6 @@ const char *find_kv(struct key_val *kv, const char *key) return NULL; } -const char *ts_str() -{ - static char ts[24]; - struct timespec sp; - uint64_t v; - clock_gettime(CLOCK_REALTIME, &sp); - v = sp.tv_sec; - v *= 1000; - v += sp.tv_nsec / 1000000; - sprintf(ts, "%" PRIu64, v); - return ts; -} - int upper_hex(const char *in, int len, char *out, int sz) { int i; (1/2) Discard this hunk from worktree [y,n,q,a,d,j,J,g,/,e,?]? y @@ -480,6 +467,17 @@ int ts() return (int)ts.tv_sec; } +int64_t tsms() +{ + struct timespec sp; + int64_t v; + clock_gettime(CLOCK_REALTIME, &sp); + v = sp.tv_sec; + v *= 1000; + v += sp.tv_nsec / 1000000; + return v; +} + int time_valid(const char *time_str, const char *format, const int period) { struct tm tm = {0}; (2/2) Discard this hunk from worktree [y,n,q,a,d,K,g,/,e,?]? n |
结果:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | $ git diff api/helper.c diff --git a/src/api/helper.c b/src/api/helper.c index fe4bf5b..5d9c586 100644 --- a/src/api/helper.c +++ b/src/api/helper.c @@ -480,6 +480,17 @@ int ts() return (int)ts.tv_sec; } +int64_t tsms() +{ + struct timespec sp; + int64_t v; + clock_gettime(CLOCK_REALTIME, &sp); + v = sp.tv_sec; + v *= 1000; + v += sp.tv_nsec / 1000000; + return v; +} + int time_valid(const char *time_str, const char *format, const int period) { struct tm tm = {0}; |