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 文件名。