git revert 一个特定的提交避免 merge

标签 git

我想删除 git 存储库上的特定提交,以便能够删除应用到我的软件的“修复”。

这是一个 EMC:

#!/bin/bash
rm -rf TEST .git
mkdir TEST
git init
echo "info 1" > TEST/file.txt
git add TEST/
git commit -m "Initial Commit"
echo "info 2" >> TEST/file.txt
git add TEST/
git commit -m "Commit Fix 1 on file"
echo "info 3" >> TEST/file.txt
git add TEST/
git commit -m "Commit Fix 2 sur file"

file.txt 的结果将是

info 1
info 2
info 3

我想获取没有“info 2”行的文件。 git revert 会产生冲突,我想避免管理这些冲突。也就是说,像提交“Commit Fix 1 on file”这样的操作永远不会追加。

我在没有任何 luke 的情况下尝试了 revert 或 rebase,所以如果你有其他想法,我很乐意提供一些帮助。

此致

最佳答案

要还原特定提交,您需要确定 hash提交,使用 git log , 然后使用 git revert <commit>创建一个删除这些更改的新提交。

关于git revert 一个特定的提交避免 merge ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12777855/

相关文章:

git - 与项目一起对依赖项进行版本控制

gitflow init,执行后内部发生了什么

git 无法暂存文件,将所有文件显示为重复但 char 大小写不是问题

git - 如何向我的 package.json 添加非 npm 依赖项?

git - 通过git编辑gitlab和bitbucket的配置文件

svn - 您应该在代码和变更日志中评论更改吗?

git - 将 git 配置为默认使用 IPv4 而不是 IPv6

linux - Centos安装Git 1.8.5以上版本

Git Fetch 与 Pull : Different Results, 不确定为什么

spring - 如何要求 Spring Cloud Config 服务器从特定分支 checkout 配置?