我想删除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文件”就不会附加。
我试图在没有任何行动的情况下进行还原或改造,所以如果你有另外一个想法,我会得到一些帮助。
此致
答案 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"