未改动
有这三类
- 工作区 (Working Directory):就是电脑上实际能看到的文件夹。你在这里写代码、改文件。
- 暂存区 (Stage / Index):它是一个“缓冲区”。相当于“快递纸箱”。
git add就是把东西挑出来,放进纸箱,准备寄走,但还没封箱。 - 本地仓库 (Local Repository):相当于“快递站”。
git commit就是把纸箱封好,贴上标签,正式存进快递站,有了历史记录。
常用流程:
工作区
↓ git add . (把东西装进纸箱)
暂存区 / Stage
↓ git commit -m "备注" (封箱,交给快递站)
本地仓库
↓ git push (发往远程仓库)
检查
用git status看状态
常见本地弄错
1.在工作区改乱了(还没 git add)
- 状况:改错代码了,想恢复到上一次 commit 的样子。
- 解决方法:
git restore 文件名 # 丢弃单个文件的修改(危险,不可逆)
git restore . # 丢弃所有修改(极度危险!新手慎用)
2.加错东西进纸箱了(已经 git add,未commit)
- 状况:把不想提交的文件加进了暂存区,或者想撤销刚才的
git add。 - 解决方法:
git restore --staged 文件名 # 把单个文件从纸箱拿出来
git reset # 把整个纸箱倒空(即撤销所有 git add,保留代码)
reset :把暂存区(Staged)里的所有文件,全部撤回到工作区
3.封箱了,但备注写错/漏文件了(已经 git commit,但没 push)
- 状况:刚提交完,发现有文件没加进去,或者 commit 信息拼错了。
- 解决方法:
git commit --amend -m "新备注" # 覆盖上一次提交(不改代码,只改备注)
git commit --amend # 如果漏了文件:先 git add 漏的文件,再敲这个命令
- 或者想彻底撤销这次 commit(保留代码修改):
git reset --soft HEAD^ # 撤销 commit,把东西退回纸箱(暂存区)
git reset HEAD^ # 撤销 commit,把东西退回房间(工作区)
演示不同情况下的status
# 未改动
# 改动工作区
# add
# commit
留言区
不收集任何个人信息;昵称只绑定浏览器里的随机 Cookie。