Git删除命令

没用的目录

删除文件

1、文件已提交到仓库:

1. git rm <file> 		// 从工作区和暂存区删除
2. git commit -m "" 	// 再次提交到仓库

2、只删除暂存区中的文件,本地不做修改:

git rm --cached <file>

3、恢复本地被误删除的文件:

git checkout -- <file>	// 将暂存区的文件覆盖本地文件

删除 commit

1、git reset
git reset :回滚到某次提交。
git reset --soft :退回暂存区(不撤销git add file)。
git reset --hard:撤销commit和add,不做任何保留。

1、回滚代码

1. git log							// 查询要回滚的 commit_id
2. git reset --hard commit_id 		// HEAD 就会指向此次的提交记录
3. git push origin HEAD --force 	// 强制推送到远端

2、误删恢复
回滚到错误 commit_id,或者误删了某次 commit 记录,可以通过下方代码恢复:

1、git relog 						// 复制要恢复操作的hash值
2、git reset --hard hash 			// 将hash换成要恢复的历史记录的 hash 值

3、注意:删除某次提交时最好不要用 git reset 回退远程库,因为之后其他人用 git pull 也会把自己的本地仓库回退到之前的版本,容易出现差错进而增加不必要的工作量。

2、git rebase
git rebase:两个分支不在一条线上,需要执行 merge 操作时使用该命令。

1、撤销提交
如果中间的某次 commit 需要删除,可以通过 git rebase 命令实现,方法如下:

git log
git rebase -i commit_id			// 将 commit_id 替换成复制的值
进入 Vim 编辑模式,将要删除的 commit 前面的 `pick` 改成 `drop`
保存并退出 Vim

2、解决冲突
该命令执行时极有可能出现 reabase 冲突,可以通过以下方法解决:

git diff						// 查看冲突内容
git add <file> 或 git add -A	// 手动解决冲突(冲突位置已在文件中标明)
git rebase --continue
--------------------------------------------------------------------------------------------
// 若还在 rebase 状态,则重复之前步骤,直至 rebase 完成出现 applying 字样
git push						//最后 push 提交

3、git revert
git revert:放弃某次提交。
操作之前的提交,记录仍会保留在 git log 中,而此次撤销会做为一次新的提交。
git revert -m:用于对 merge 节点的操作,-m 指定具体某个提交点。
1、撤销提交
要撤销中间某次提交时,使用 git revert 也是一个很好的选择:

git log						// 查找需要撤销的 commit_id
git revert commit_id  		// 撤销这次提交

2、撤销 merge 节点提交
如果这次提交是 merge 节点的话,则需要加上 -m 指令:

git revert commit_id -m 1 // 第一个提交点
// 手动解决冲突
git add -A
git commit -m ""
git revert commit_id -m 2 // 第二个提交点
git push
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值