git 用了好久,但是都比较粗浅,记忆并不深刻,准备好好整理一下
Git 第一步
1. 每次初始化一个厂库,很简单
git init
2. 新建一个文件,把文件添加到厂库, 命令 git add
git add 文件名
3. 用命令 git commit 提交到厂库
git commit -m "第一次提交" // -m "这里是提交的描述"
-m后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。
嫌麻烦不想输入-m "xxx"行不行?确实有办法可以这么干,但是强烈不建议你这么干,因为输入说明对自己对别人阅读都很重要。
git commit 命令执行成功后会告诉你,1个文件被改动(我们新添加的 文件),插入了两行内容( 有两行内容)。
为什么Git添加文件需要add,commit一共两步呢?因为commit可以一次提交很多文件,所以你可以多次add不同的文件
Git 时光机回退
回到过去
1. 在Git中,用HEAD表示当前版本,也就是最新的提交3628164...882e1e0(注意我的提交ID和你的肯定不一样),上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。
git reset --hard HEAD^
2. 最新的那个版本 已经看不到了!好比你从21世纪坐时光穿梭机来到了19世纪,想再回去已经回不去了,肿么办?
办法其实还是有的,只要上面的命令行窗口还没有被关掉,你就可以顺着往上找啊找啊 就可以指定回到未来的某个版本。
git reset --hard 版本号
版本号没有必要写全,前几位就可以了,Git会自动去找。当然也不能只写前一两位,因为 Git 可能会找多个版本号,就无法确定是哪一个了
Git的版本回退速度非常快,因为Git在内部有个指向当前版本的HEAD指针。 现在,你回退到了某个版本,关掉了电脑,第二天早上就后悔了,想恢复到新版本怎么办?找不到新版本的commit id怎么办?
在Git中,总是有后悔药可以吃的。当你用git reset --hard HEAD^ 回退到 某个 版本时,再想恢复到 以前版本 ,就必须找到 commit id。Git提供了一个命令git reflog用来记录你的每一次命令。
git reflog
-
HEAD 指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令 git reset --hard commit_id。
-
穿梭前,用 git log 可以查看提交历史,以便确定要回退到哪个版本。
-
要重返未来,用 git reflog 查看命令历史,以便确定要回到未来的哪个版本。