git的回滚,恢复操作

回滚到之前版本,比如上一个版本:

1.git reset --hard HEAD~1

//回滚上一个版本  

2.git add . (注意有点号)

3.git commit ‘roll-back'

4.git push -f origin master

//回滚之后,添加,提交,上传

 

git log查看历史记录:

 

1.git log -g列出所有的上传操作记录,使用翻页的按钮进行浏览操作记录

2.添加一些条件,进行筛选日志记录,

如两天前的提交历史:git log --since=2.days

如指定作者为"BeginMan"的所有提交:$ git log --author=BeginMan

如指定关键字为“init”的所有提交:$ git log --grep=init

如指定提交者为"Jack"的所有提交:$ git log --committer=Jack

 

删除远程分支:

1.git branch -r -D origin/[branch_name] //删除

2.git push origin :branch-name //上传

 

恢复远程被删除的分支:

1.使用git log -g 找回之前提交的commit

2.找到要恢复的分支的id 比如6a18783fb3070f27a714e4dc5f74205588724123

3.使用git branch recover_br 6a18783fb3070f27a714e4dc5f74205588724123

4.使用git branch 查看分支是否已经恢复了

 

Git回滚提交可以通过多种方式实现,具体取决于你的需求和操作场景。以下是几种常见的回滚方式及其使用方法: ### 1. 撤销最近的 `git add` 如果只是想取消最近一次 `git add` 操作,而不影响工作目录中的文件,可以使用以下命令: ```bash git reset ``` 或者 ```bash git restore --staged <file> ``` 这两个命令都可以将暂存区中的文件撤销到工作目录中,而不会影响工作目录的内容[^1]。 --- ### 2. 回滚最近的一次提交(保留更改) 如果已经执行了 `git commit`,但希望撤销该提交,同时保留工作目录中的更改,可以使用: ```bash git reset --soft HEAD^ ``` 此命令会将最近一次提交撤销,但保留所有更改在暂存区中,方便重新提交[^2]。 --- ### 3. 回滚提交并清除更改 如果希望完全丢弃某次提交及其更改,可以使用: ```bash git reset --hard HEAD^ ``` 此命令会直接删除最近一次提交,并且工作目录中的文件也会恢复到最后一次提交前的状态。需要注意的是,这种方式是不可逆的,因此在执行之前应确保不再需要这些更改[^2]。 --- ### 4. 回滚到指定的提交 如果需要回滚到某个特定的提交,可以通过提交的 SHA 码来完成: ```bash git reset --hard dde8c25694f34acf8971f0782b1a676f39bf0a46 ``` 此命令会将当前分支的 HEAD 指针指向指定的提交,并更新工作目录和暂存区的内容。如果已经将更改推送到远程仓库,则还需要强制推送以更新远程分支: ```bash git push origin HEAD --force ``` 需要注意的是,强制推送可能会覆盖其他人的更改,因此在团队协作环境中应谨慎使用[^2]。 --- ### 5. 查看提交历史 在进行回滚操作之前,通常需要查看提交历史以确定要回滚的提交。可以使用以下命令查看提交记录: ```bash git log ``` 该命令会显示所有提交的详细信息,包括提交的 SHA 码、作者、日期和提交信息。通过这些信息可以找到需要回滚的目标提交[^2]。 --- ### 6. 使用 `git revert` 创建新的提交来撤销更改 如果不想修改提交历史,而是希望通过一个新的提交来撤销之前的更改,可以使用: ```bash git revert HEAD ``` 此命令会创建一个新的提交,其内容与最近一次提交的更改相反。这种方式不会改变提交历史,因此更适合在多人协作的项目中使用[^3]。 --- ### 注意事项 - **强制推送的风险**:如果已经将提交推送到远程仓库,并且其他人可能基于这些提交进行了工作,那么使用 `git reset` 和 `git push --force` 可能会导致冲突或数据丢失。在这种情况下,建议优先考虑使用 `git revert`。 - **备份分支**:在执行任何回滚操作之前,最好先创建一个备份分支,以防万一需要恢复原始状态。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值