git恢复特定的提交,避免合并

时间:2012-10-08 08:25:06

标签: 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会产生冲突,我想避免管理这些冲突。也就是说,做提交“提交修复1文件”就不会附加。

我试图在没有任何行动的情况下进行还原或改造,所以如果你有另外一个想法,我会得到一些帮助。

此致

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

$ git reset HEAD^^
$ change your file to delete the info 2
$ git add .
$ git commit -m "Commit Fix 2 sur file"
相关问题