1.初始化一个Git仓库,使用git init
命令。
2.添加文件到Git仓库,分两步:
- 使用命令
git add <file>
,注意,可反复多次使用,添加多个文件 - 使用命令
git commit -m <message>
,完成
3.git status
命令了解仓库当前的状态,下面的命令输出告诉我们,readme.txt被修改过了,但还没有准备提交的修改
4.git diff
顾名思义就是查看difference,可以从命令输出看到,在第一行添加了一个distributed单词。
5.用git log
命令可以查看历史记录:
- 如果嫌输出信息太多,看得眼花缭乱的,可以加上
--pretty=oneline
参数
git log --pretty=oneline
示例如下:
6.回退到上一个版本
git reset --hard HEAD^
或
git reset --hard HEAD~1
- 在Git中,用
HEAD
表示当前版本,也就是最新的提交34e64…(注意我的提交ID和你的肯定不一样),上一个版本就是HEAD^
,上上一个版本就是HEAD^^
,如果往上100个版本写成HEAD~100
7.回退后想返回之前的版本(前提是git窗口没关,还能得到之前版本的id)
git reset --hard 34e6
- 版本号没必要写全,前几位就可以了,Git会自动去找。当然也不能只写前一两位,因为Git可能会找到多个版本号,就无法确定是哪一个了
8.回退后想返回之前版本,但窗口已关忘记版本号,可以使用git reflog
用于查看之前的每一次命令的记录
git reflog
- 可以看到,之前的版本号为
34e64fe
,此时再使用git reset --hard 34e6
命令即可回到新版本
9.当改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,可以使用命令git checkout -- <file>
(注意中间是--
),让这个文件回到最近一次git commit或git add时的状态
10.当不但改乱了工作区某个文件的内容,还添加到了暂存区(即使用了git add
)时,想丢弃修改,分两步,第一步用命令git reset HEAD ,就回到了场景1,第二步按场景1操作:使用命令git checkout -- <file>
- 用命令
git reset HEAD <file>
可以把暂存区的修改撤销掉(unstage),重新放回工作区 git reset
命令既可以回退版本,也可以把暂存区的修改回退到工作区。当我们用HEAD
时,表示最新的版本- 使用命令
git checkout -- <file>
丢弃工作区的修改
11.如果错删了文件,但还未提交,即版本库中还有该文件,可以使用git checkout -- <file>
命令把误删的文件恢复到版本库的最新版本
- 以上先提交了test.txt文件到版本库中,然后手动删除了工作区的test.txt文件,最后使用命令还原了该文件
- git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。
参考:
https://www.liaoxuefeng.com/wiki/896043488029600/896954074659008