Git

Git

新建版本库

git init [projectName]

增删改

删除文件,工作空间不保留,可revert

git rm [fileName1] [fileName2]

停止追踪指定文件,工作空间保留文件,可revert

git rm --cached [file]

重命名,效果等价于add一个新文件,可revert

git mv [file-original] [file-renamed]

提交

提交更改,执行后进入vim输入message

git commit -a

补交,有更改则用更改替换上次提交,没有更改,则可以更改上次提交信息

git commit --amend -m [message]

查看信息

显示commit历史,以及每次提交的更改信息

git log --stat

显示指定文件相关的每一次diff

git log -p [file]

历史版本/撤销

  1. 撤销更改,恢复到特定版本,版本库不变,若存在未提交更改,则会被指定版本覆盖
git checkout SHA-1 [fileName]
  1. 重置当前分支到历史版本,同时重置暂存区,但工作区不变,现有更改保留
git reset SHA-1
  1. 重置当前分支到历史版本,同时重置暂存区和工作区,现有更改被覆盖
git reset --hard SHA-1 # 此处SHA-1等价于使用head回退,针对性好
  1. 重置当前HEAD为指定commit,但保持暂存区和工作区不变
git reset --keep [commit]

撤销未提交的更改

撤销也可以理解为恢复到最新版本.

git checkout head 1.txt 2.txt # 撤销少量文件的更改
git chechout head *.txt # 撤销所有.txt文件的更改
git checkout head . # 撤销目录下所有未提交的更改
git checkout . # 撤销目录下所有未提交的更改
git reset --hard # 撤销目录下所有未提交更改
git reset --hard head # 撤销目录下所有未提交更改,当使用head^时,则会版本回退

特殊记忆

整个工作空间切换到历史版本:

git checkout head^^

在本地存在未提交的更改时,上述命令不会执行.能够执行的前提下,整个版本库都会回退到历史版本,log也只到该版本.


查看某个文件的历史版本:
工作空间的文件会被历史版本覆盖,未提交的内容会丢失

git checkout SHA-1 [fileName] # 本地有未提交的更改会被覆盖,但不会影响版本库
git reset [file] # 有病啊这个
git reset SHA-1 [fileName] # 有病啊这个

历史版本另存为一个文件:

git show SHA-1:[fileName] > [newFileName]

将某文件的更改详情存为文件

git show SHA-1 [fileName] > [newFileName]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值