继续学习git的其他基本命令
还会对回退版本相关命令进行补充(。・∀・)ノ゙
1.回退版本
有时候我们会误操作,需要将文件恢复到之前的版本, 可以使用以下命令:
git reset --soft HEAD^:回退到上一个版本, 但是不删除工作区改动代码git reset --mixed HEAD^:回退到上一个版本, 并将暂存区的改动代码回退到工作区git reset --hard HEAD^:回退到上一个版本, 并删除工作区改动代码HEAD^表示上一个版本,HEAD^^表示上上个版本, 以此类推 也可以直接使用版本ID来回退 解释:--soft:不删除工作区改动代码,回退到上一个版本后, 可以继续修改代码,所有的改动代码都会保留,且不会改变暂存区的文件状态--mixed:将暂存区的改动代码回退到工作区,所有改动的文件状态都会变成'U',需要重新添加到暂存区(使用git add)--hard:删除工作区改动代码,完全回退到上一个版本(慎用!!)
2.查看差异
使用以下命令可以查看文件的差异:
git diff:显示工作区中已修改但尚未添加到暂存区的文件的差异git diff --cached:查看暂存区与上一个版本的差异git diff HEAD:查看工作区与当前最新提交版本的差异
完全可以使用
git diff <版本ID>查看指定版本与上一个版本的差异
也可以使用git diff <版本ID> <版本ID>查看两个版本之间的差异
还有很多其他的参数, 可以使用git diff --help查看
以及,在命令行中会用不同的颜色来表示不同的差异(自己试试看:))
3.撤销修改
当发现做出了没有必要的修改后,使用以下命令可以撤销修改:
git checkout -- <版本ID>:撤销指定文件的工作区改动,将文件恢复到暂存区或最新提交版本的状态- 这个命令很不谨慎,确保自己确实需要撤销修改,否则可能会丢失未提交的修改
4.删除文件
当我们不再需要某个文件,使用以下命令可以进行删除:
git rm <文件名>:删除文件, 并将删除操作提交到仓库git rm --cached <文件名>:将文件从暂存区移除,但不会删除工作区中的文件git rm -r*:删除文件夹, 并将删除操作提交到仓库
5.gitignore文件
gitignore文件是一个特殊的文件, 用于指定需要忽略的文件或文件夹, 如果文件或文件夹在gitignore文件中指定, 则不会git管理变化状态
什么文件需要忽略?
- 编译生成的中间文件
- 日志文件、配置文件、临时文件
- 数据库文件
- 第三方库文件
- 敏感信息文件
- ……
如何忽略文件?
- 在项目根目录下新建一个
.gitignore文件 - 在
.gitignore文件中添加需要忽略的文件或文件夹的名称 - 注意:
.gitignore文件中的注释使用#.gitignore文件中的通配符使用*.gitignore文件中的文件夹使用/.gitignore文件中的文件使用文件名.gitignore文件中的文件夹使用文件夹名/
总结
以上就是Git的部分基本使用方法, 希望对你有所帮助(哦哦其实是写给自己当备忘录的), 有任何问题欢迎随时指正!
(。・∀・)ノ゙还会接着写同步到Github上的操作,以及分支的使用方法 好懒的我(。・∀・)ノ゙ 时刻记住git追踪的是文件的变化,不是文件本身
懒人直接检索
git reset --soft HEAD^ # 回退到上一个版本,保留工作区和暂存区内容
git reset --mixed HEAD^ # 回退到上一个版本,并将暂存区改动回退到工作区
git reset --hard HEAD^ # 回退到上一个版本,并删除工作区改动代码
git diff --cached # 查看暂存区与最新提交版本的差异
git diff HEAD # 查看工作区与当前最新提交版本的差异
git checkout -- <文件名> # 撤销指定文件的工作区改动
git rm <文件名> # 删除文件,并提交删除操作到仓库
git rm --cached <文件名> # 将文件从暂存区移除,但保留在工作区
git rm -r <文件夹名> # 删除文件夹,并提交删除操作到仓库
补充一个学习网站
learngitbranching.js.org/?locale=zh_…
里面的小动画和跟写真的很有用!!