推送没有先前提交依赖项的新提交

时间:2011-10-27 11:50:04

标签: git

我在我的本地系统中提交并推送它进行审核..

现在我想进行另一次提交并推送它并确保第一个不是依赖项。我怎么能这样做?

请帮我处理这些命令。

2 个答案:

答案 0 :(得分:4)

您有几种选择。您可以简单地丢弃最后一次提交(您将丢失它并且必须使用reflog来恢复它,除非您保存哈希):

git reset --hard HEAD~1

或者,您可以执行软重置并存储上次提交:

git reset --soft HEAD~1
git stash

或者你可以在之前分支提交并在该分支中工作:

git checkout -b newbranch HEAD~1

答案 1 :(得分:1)

分支机构非常适合这一点。您希望基于您推送的提交的父级进行另一次提交,以便它不包含其更改。

假设您的提交是B且其父级是A.您将工作副本重置为提交A(您的工作不会因为被推送而丢失)

git checkout HEAD~

HEAD~表示当前分支提交的父级。

然后进行更改,并将它们提交到新分支:

git checkout -b other_feature_branch
git commit