Git常见问题解答

一、基础操作

Q1:如何撤销未提交的修改?

A:若修改未执行git add,使用git checkout -- 文件名恢复;若已执行git add但未commit,使用git reset HEAD 文件名取消暂存,再执行checkout命令。

Q2:忘记写提交说明怎么办?

A:提交时未加-m参数会进入Vim编辑模式,输入说明后按ESC键,输入:wq保存退出即可。

二、分支与合并

Q3:合并分支时出现冲突如何解决?

A:Git会标记冲突文件(含<<<<<<<、=======、>>>>>>>标记),手动编辑保留正确代码后,执行git add 冲突文件git commit完成合并。

Q4:如何删除远程分支?

A:使用命令git push origin --delete 分支名,注意需先删除本地对应分支避免混淆。

三、远程仓库

Q5:推送时提示"non-fast-forward"错误?

A:说明远程仓库有新提交未拉取,需先执行git pull合并远程更新,解决可能的冲突后再推送。

Q6:如何修改远程仓库地址?

A:使用命令git remote set-url origin 新地址,可通过git remote -v验证修改是否成功。

四、版本管理

Q7:误删提交后如何恢复?

A:通过git reflog查看所有操作记录,找到丢失提交的哈希值,使用git reset --hard 哈希值恢复(注意硬回退会丢失之后的提交)。

Q8:如何查看某个文件的修改历史?

A:使用命令git log -- 文件名,可查看该文件的所有提交记录;若需查看具体修改内容,添加-p参数:git log -p 文件名