1、初始化一个Git仓库,使用git init
命令
2、添加文件到Git仓库,分两步:
- 使用命令
git add <file>
,注意,可反复多次使用,添加多个文件- 使用命令
git commit -m <message>
,完成
3、git status
命令可以让我们时刻掌握仓库当前的状态,查看是否有文件修改或者未被提交
4、git diff
就是查看difference,查看已被修改的内容
5、git log
命令查看文件的版本历史记录,git log --pretty=oneline
可以让查出来的结果更简单
6、回退版本
- 在Git中,用HEAD表示当前版本,也就是最新的提交,上一个版本就是HEAD,上上一个版本就是HEAD,当然往上100个版本写100个比较容易数不过来,所以写成HEAD~100。
- 使用命令
git reset --hard HEAD^
即可回退到上一个版本
7、git reflog
命令用来记录你的每一次命令,可以查找你每一次操作的commit id(版本号)
8、比如,我们从版本1修改为版本2,然后从版本2回退到版本1,此时通过git log
发现没有版本2了,但是如果要再回退到版本2,那就可以通过commit id(版本号,git的版本号不是1,2,3...那么简单,是很长的一段数字)
git reflog
查看命令历史,查找commit id(版本号)以便确定要回到未来的哪个版本,如果你知道具体的版本号可以省略这一步骤git reset --hard 2
命令,可以从版本1回退到版本2(此处的2,指的是版本号,可以不用把那一长串数字都写下来,只要写下前面几个数字让git可以查找到具体的版本号即可,当然也不能只写前一两位,因为Git可能会找到多个版本号,就无法确定是哪一个了)
9、用git diff HEAD -- readme.txt
命令可以查看工作区和版本库里面最新版本的区别
10、命令git checkout -- readme.txt
意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:
- 一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
- 另一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
总之,就是让这个文件回到最近一次git commit或git add时的状态。
11、当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD readme.txt
,第二步用命令git checkout -- readme.txt
12、删除文件
当你要删除文件的时候,可以先手动删除文件,或者使用命令
rm test.txt
这个时候(也就是说这个时候只执行了rm test.txt)有两种情况:
第一种情况:的确要把test.txt删掉,那么可以执行
git rm test.txt
git commit -m "remove test.txt"
然后文件就被删掉了
第二种情况:删错文件了,不应该删test.txt,注意这时只执行了rm test.txt
,还没有提交,所以可以执行git checkout test.txt将文件恢复。