创建一个空仓库
git init
运行后会在工作文件夹下生成一个.git文件夹
版本控制
创建不同版本
使用vi创建一个文本code.txt,退出vi时,按下ESC,然后:wq。cat code.txt查看文本内容。
git add code.txt git commit -m 'version 1'
修改code.txt内容,重新上述命令,把version 1改为version2:
HEAD^ 表示版本1 HEAD^^ 表示版本2 以此类推
HEAD~1 表示版本1 HEAD~20 表示版本20
回到某一版本
回到之前的版本1可以用命令: git reset --hard HEAD~1
又想回到版本2可以用: git reset --hard (版本2的commit的前几位)
通过reflog来查看历史,查看版本号
git reflog 前面的深黄色几位commit(版本号),可以通过 git reset --hard 版本号 来跳转。
工作区与暂存区
工作区就是工作目录,我的就是myLinux文件夹;
git add把文件加入到暂存区;
git commit创建版本记录。
管理修改
git commit只会把暂存区的修改提交到版本控制中
撤销修改
- 直接丢弃工作区的改动 git checkout -- 文件
- 修改已经加到暂存区,但未commit git reset HEAD 文件 然后 git checkout -- 文件
- 已经commit,版本回退
对比文件的不同
对比工作区和版本库的某个文件 git diff HEAD -- 文件
对比两个版本中的文件 git diff HEAD HEAD^ -- code.txt
其中---开头的是第一个文件,+++开头的是第二个文件
删除文件
- rm 文件,如果后悔,可用 git checkout -- 文件 丢弃工作区的改动
- git rm 文件,然后 git commit -m 版本 ,可以删除文件
git log --pretty=oneline 以简短的形式显示不同版本