在git提交后删除尾随换行符

时间:2014-09-23 06:53:31

标签: git

我刚刚提交并推送了一个更改,意外地在我的仓库中的每个文件的末尾添加了一个新行。现在我的差异很大,无论如何我可以删除这些换行符吗?

3 个答案:

答案 0 :(得分:1)

如果这是唯一的更改,您可以git reset --hard HEAD^将您的HEAD移至上一次提交,然后git push --force假设没有其他人撤消。

如果您的更改不仅仅是换行符,则必须reset,修复提交,然后再次push --force,假设没有其他人介入。

答案 1 :(得分:0)

这里尝试使用此功能可以撤消上一次提交

git reset --soft HEAD~1

然后对文件进行更改并再次提交。

此处请参考以下内容: How to undo last commit(s) in Git?

答案 2 :(得分:0)

正确的和SAFE 方式

要做的就是使用git-revert,因为你已经将提交推送到了存储库

错误和危险的方式

正在执行简单的git-reset,例如

git reset --soft HEAD~1

git reset --hard HEAD^

因为他们将退回到之前的提交,但是当你再次提交时,你会分歧,并将重写你的 git history ;应该尽可能避免这种情况。

请注意,当您发现自己使用 - 强力选项时,或者当您尝试分歧时(或采取另一条路径并忘记之前的路径)时,(几乎)总会出现问题和气味。 > Git 不想忘记事情))来自推送提交 (事实上​​,提交将保持孤立状态,您将重写历史记录,向其他存储库用户创建问题)。

要使用

git revert HEAD

这完全适用于类似的情况,并将进行新的提交,将所有文件恢复到上一次提交,撤消结束行。 如果要保留存储库的完整性,则需要进行新的提交。