5

我想删除 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”这样的操作永远不会追加。

我在没有任何卢克的情况下尝试了 revert 或 rebase,所以如果您有其他想法,我会很高兴得到一些帮助。

真挚地,

4

2 回答 2

1

要恢复特定提交,您需要使用 标识hash提交的git log,然后使用git revert <commit>来创建删除这些更改的新提交。

于 2012-10-08T08:30:13.337 回答
0
$ git reset HEAD^^
$ change your file to delete the info 2
$ git add .
$ git commit -m "Commit Fix 2 sur file"
于 2012-10-08T08:39:12.103 回答