git 版本穿梭

shj@MSI MINGW64 /d/code_lib/git-demo
$ git init
Initialized empty Git repository in D:/code_lib/git-demo/.git/

shj@MSI MINGW64 /d/code_lib/git-demo (master)
$ ll -a
total 5
drwxr-xr-x 1 shj 197121   0 Jul 31 17:04 ./
drwxr-xr-x 1 shj 197121   0 Jul 31 17:02 ../
drwxr-xr-x 1 shj 197121   0 Jul 31 17:04 .git/
-rw-r--r-- 1 shj 197121 248 Jul 31 17:03 hello.txt

shj@MSI MINGW64 /d/code_lib/git-demo (master)
$ git status
On branch master

No commits yet

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        hello.txt

nothing added to commit but untracked files present (use "git add" to t
rack)

shj@MSI MINGW64 /d/code_lib/git-demo (master)
$ git add hello.txt

shj@MSI MINGW64 /d/code_lib/git-demo (master)
$ git status
On branch master

No commits yet

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
        new file:   hello.txt


shj@MSI MINGW64 /d/code_lib/git-demo (master)
$ git commit -m "first commit" hello.txt
[master (root-commit) f9be8a9] first commit
 1 file changed, 10 insertions(+)
 create mode 100644 hello.txt

shj@MSI MINGW64 /d/code_lib/git-demo (master)
$ git status
On branch master
nothing to commit, working tree clean

shj@MSI MINGW64 /d/code_lib/git-demo (master)
$ git reflog
f9be8a9 (HEAD -> master) HEAD@{0}: commit (initial): first commit

shj@MSI MINGW64 /d/code_lib/git-demo (master)
$ git log\
> ^C

shj@MSI MINGW64 /d/code_lib/git-demo (master)
$ git log
commit f9be8a93d5be82fb21941ff66ac23a9bd5ce9896 (HEAD -> master)
Author: shenhj <3247440772@qq.com>
Date:   Mon Jul 31 17:06:08 2023 +0800

    first commit

shj@MSI MINGW64 /d/code_lib/git-demo (master)
$ git status
On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   hello.txt

no changes added to commit (use "git add" and/or "git commit -a")

shj@MSI MINGW64 /d/code_lib/git-demo (master)
$ git add hello.txt

shj@MSI MINGW64 /d/code_lib/git-demo (master)
$ git status
On branch master
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        modified:   hello.txt


shj@MSI MINGW64 /d/code_lib/git-demo (master)
$ git commit -m "second commit" hello.txt
[master e61dab7] second commit
 1 file changed, 1 insertion(+), 1 deletion(-)

shj@MSI MINGW64 /d/code_lib/git-demo (master)
$ git reflog
e61dab7 (HEAD -> master) HEAD@{0}: commit: second commit
f9be8a9 HEAD@{1}: commit (initial): first commit

shj@MSI MINGW64 /d/code_lib/git-demo (master)
$ git status
On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   hello.txt

no changes added to commit (use "git add" and/or "git commit -a")

shj@MSI MINGW64 /d/code_lib/git-demo (master)
$ git add hello.txt

shj@MSI MINGW64 /d/code_lib/git-demo (master)
$ git commit -m "third commit" hello.txt
[master bfde9da] third commit
 1 file changed, 1 insertion(+), 1 deletion(-)

shj@MSI MINGW64 /d/code_lib/git-demo (master)
$ git reflog
bfde9da (HEAD -> master) HEAD@{0}: commit: third commit
e61dab7 HEAD@{1}: commit: second commit
f9be8a9 HEAD@{2}: commit (initial): first commit

shj@MSI MINGW64 /d/code_lib/git-demo (master)
$ git status
On branch master
nothing to commit, working tree clean

shj@MSI MINGW64 /d/code_lib/git-demo (master)
$ git reset --hard e61dab7
HEAD is now at e61dab7 second commit

shj@MSI MINGW64 /d/code_lib/git-demo (master)
$ git reflog
e61dab7 (HEAD -> master) HEAD@{0}: reset: moving to e61dab7
bfde9da HEAD@{1}: commit: third commit
e61dab7 (HEAD -> master) HEAD@{2}: commit: second commit
f9be8a9 HEAD@{3}: commit (initial): first commit

shj@MSI MINGW64 /d/code_lib/git-demo (master)
$ git reset --hard f9be8a9
HEAD is now at f9be8a9 first commit

shj@MSI MINGW64 /d/code_lib/git-demo (master)
$ git reflog
f9be8a9 (HEAD -> master) HEAD@{0}: reset: moving to f9be8a9
e61dab7 HEAD@{1}: reset: moving to e61dab7
bfde9da HEAD@{2}: commit: third commit
e61dab7 HEAD@{3}: commit: second commit
f9be8a9 (HEAD -> master) HEAD@{4}: commit (initial): first commit


shj@MSI MINGW64
/d/code_lib/git-demo (master)

 

1.命令解析

git init :初始化,生成  .git文件

git status:查看状态

git add  <文件名>:将文件从工作区添加到暂存区

git commit -m "first commit" <文件名>:将文件从暂存区添加到本地库

git reflog:查看提交日志信息

git log:查看详细提交日志信息

git reset --hard <版本号>:恢复历史版本

2.版本管理原理

指针

 

 3.内存管理

工作区(电脑中存放代码)----》暂存区----》本地库----》远程库

posted @ 2023-07-31 17:26  huidaoqingdao  Views(9)  Comments(0Edit  收藏  举报