最常见的 Git 错误及解决方法

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_40147863/article/details/99065259

最常见的 Git 错误及解决方法

经常用 Git,哪能不出错。

恢复时要注意 log 的时间,以及查看是否有别人操作的代码,尤其是 push revert,用 IDEA 中的工具查看比较直观。先在一个小项目自己动手测试一下,博客不能解决所有问题。

1、修改最后一次提交消息 - 提交消息写错了

解决方法:

git commit --amend

该命令将打开编辑器,并允许更改最后一次提交消息。

(按 i 进行编辑,编辑后,按 ESC,如果保存退出使用 :wq,只退出输入 :q,如果出错,退出不保存使用 :qa!)

2、Git 撤回 commit,但未 push 的内容

查看本地修改日志:

git log

(如果显示不全按回车键继续加载,按 q 退出;中文可能乱码;越靠上的是越近的修改)

(1)如果想保留提交之前的更改,使用 reset + id
(一般有两条,如果显示不全按回车键继续加载,按 q 退出,就是立马知道要撤回,既然上面的最新的 ID,那么 reset 使用的是下面的 ID)

git reset *******

(2)如果想要撤回,并且删除上次提交所做的修改(请确认场景,慎用),使用 --hard

git reset --hard **********

注意 --hard 参数会抛弃当前工作区的修改;
使用 --soft 参数的话会回退到之前的版本,但是保留当前工作区的修改,可以重新提交

3、撤回已经 push 的更改(revert 时要清楚对那些文件)

查看本地修改日志:

git log

(如果显示不全按回车键继续加载,按 q 退出;中文可能乱码;越靠上的是越近的修改)

注意:使用 revert 时要注意这里是用上面的版本号,不是下面的版本号,区别于 reset

git revert HEAD        #撤销前一次提交
git revert HEAD^       #撤销前前一次提交
git revert ***********  #撤销指定版本提交。

(1)git revert 不会回退到暂存区中,所以使用 git status 没有变化(体现为没有颜色)
(2)revert 之后是处于 commit 状态,即便再撤回 commit 也不能回复 revert 的那个版本修改的内容。因为 revert 会把之前的修改都删除,此时撤回 commit 仅仅是回到删除后的,未提交的状态。此时提交相当于提交 revert 执行删除。
(3)commit 状态就是说仅仅是你的版本 revert 了,远程没有,如果再 push,就把远程的也 revert 了。

4、修改分支名称 - 错误拼写的分支名

使用:

//git branch -m 错误的分支名 正确的分支名
git branch -m brunch-xpw branch-xpw

如果已经推送此分值,则需要执行几个额外的步骤。需要删除旧分支并推送新分支

git push origin --delete brunch-xpw
git push origin branch-xpw
5、不小心提交到主分支 - 忘记创建新分支

比如说开发了新功能,暂时不应该提交主分支,但是已经提交了。

注意: 此时要回复,就提交所有更改,如果是提交了部分更改,则回复后只有提交的部分,请确认提交了修改或者其他方式保存

git branch branch-xpw
git reset HEAD~ --hardgit checkout branch-xpw

这将创建一个新分支,然后将主分支回滚到该分支

猜你喜欢

转载自blog.csdn.net/qq_40147863/article/details/99065259
今日推荐