【git】工作场景下的工作区<->暂存区<->本地仓库命令实战具体案例
- 互联网
- 2025-09-05 06:27:01

🚀 Git 工作区 → 暂存区 → 本地仓库 → 回退实战
Git 的核心流程是: 👉 工作区(Working Directory) → git add → 暂存区(Staging Area) → git commit → 本地仓库(Local Repository) 如果想回退,可以从本地仓库 → 暂存区 → 工作区
📌 1. 创建一个 Git 仓库 mkdir my_project && cd my_project git init # 初始化 Git 仓库
git init 会创建一个 .git 目录,用于管理 Git 版本控制信息。
📌 2. 创建一个文件(工作区) echo "Hello Git!" > hello.txt
此时,hello.txt 在工作区,但 Git 还不知道它的存在。
查看状态:
git status输出:
Untracked files: (use "git add <file>..." to include in what will be committed) hello.txtGit 发现 hello.txt,但它还没有被跟踪。
📌 3. 添加到暂存区 git add hello.txt
再次查看状态:
git status输出:
Changes to be committed: (use "git rm --cached <file>..." to unstage) new file: hello.txthello.txt 进入了暂存区,但还没有提交到本地仓库。
📌 4. 提交到本地仓库 git commit -m "初次提交"
输出:
[main (root-commit) 1a2b3c4] 初次提交 1 file changed, 1 insertion(+) create mode 100644 hello.txthello.txt 现在存储到了本地仓库,Git 记录了它的快照。
📌 5. 修改文件并回退 (1) 修改 hello.txt echo "Git is awesome!" >> hello.txt
查看状态:
git status输出:
Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git restore <file>..." to discard changes in working directory) modified: hello.txthello.txt 在工作区被修改了。
(2) 回退修改如果不想要这次修改:
git restore hello.txt再次 git status:
nothing to commit, working tree cleanhello.txt 回到了本地仓库的版本。
(3) 误 add 了,如何回退? git add hello.txt # 错误地加入暂存区 git restore --staged hello.txt # 从暂存区撤回到工作区这样 hello.txt 又变回未 add 之前的状态。 即: 在没有commit之前,想要回退修改都是用git restore
撤销修改:git restore <file>撤销 add:git restore --staged <file> (4) 误 commit 了,如何回退?如果误提交到本地仓库:
git reset --soft HEAD~1 # 退回到暂存区 也可以用git log显示出所有提交记录, # 复制想要回到的commit id 使用git reset --soft <commit id> 这里HEAD~1表示回退到上一个commit状态 git reset HEAD # 退回到工作区这样就撤回了 commit,但代码不会丢失。 即 commit之后的回退,都是用git reset
📌 6. 总结:Git 各区域操作 操作命令工作区 → 暂存区git add <file>暂存区 → 本地仓库git commit -m "提交信息"本地仓库 → 暂存区(撤回提交)git reset --soft HEAD~1暂存区 → 工作区(撤回 add)git restore --staged <file>工作区回退(撤销修改)git restore <file>
Git实战: 案例:开发一个简单的登录功能
假设你正在开发一个网站的登录功能,你需要修改以下文件:
index.html: 添加登录表单style.css: 添加登录表单的样式script.js: 添加登录表单的验证逻辑 一、准备工作 克隆远程仓库:假设你已经克隆了公司项目的代码仓库到本地。创建开发分支:从主分支 (main) 创建一个新的分支 feature/login,并切换到该分支。 git checkout -b feature/login 二、开发登录功能 修改代码:在 index.html、style.css 和 script.js 文件中进行代码编写和修改。查看工作区状态:使用 git status 命令查看工作区中哪些文件被修改了。 git status 你会看到类似以下的输出: On branch feature/login Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git restore <file>..." to discard changes in working directory) modified: index.html modified: style.css modified: script.js no changes added to commit (use "git add" and/or "git commit -a") 这表示 index.html、style.css 和 script.js 文件被修改了,但还没有添加到暂存区。 三、将修改添加到暂存区 添加文件到暂存区:使用 git add 命令将修改后的文件添加到暂存区。 git add index.html style.css script.js 也可以使用 git add . 添加所有修改过的文件。 再次查看工作区状态:使用 git status 命令查看工作区状态。 git status 你会看到类似以下的输出: On branch feature/login Changes to be committed: (use "git restore --staged <file>..." to unstage) modified: index.html modified: style.css modified: script.js 这表示 index.html、style.css 和 script.js 文件已经被添加到暂存区,准备提交到本地仓库。 四、将修改提交到本地仓库 提交代码:使用 git commit 命令将暂存区的文件提交到本地仓库。 git commit -m "完成登录功能开发" 提交信息应该简洁明了,描述这次提交的内容。 查看提交历史:使用 git log 命令查看提交历史。 git log 你会看到类似以下的输出: commit 1234567890abcdef1234567890abcdef12345678 (HEAD -> feature/login) Author: yourname <yourname@example > Date: Mon Oct 30 12:00:00 2023 +0800 完成登录功能开发 这表示你已经成功将修改提交到了本地仓库。 五、回退到之前的版本假设你在开发过程中发现代码出现了问题,想要回退到之前的版本。
查看提交历史:使用 git log 命令查看提交历史,找到你想要回退到的版本的 commit id。 git log 你会看到类似以下的输出: commit 1234567890abcdef1234567890abcdef12345678 (HEAD -> feature/login) Author: yourname <yourname@example > Date: Mon Oct 30 12:00:00 2023 +0800 完成登录功能开发 commit 0987654321fedcba0987654321fedcba09876543 Author: yourname <yourname@example > Date: Mon Oct 30 11:00:00 2023 +0800 初始化项目 假设你想要回退到 “初始化项目” 的版本,commit id 是 0987654321fedcba0987654321fedcba09876543。 回退到指定版本:使用 git reset 命令回退到指定版本。 git reset --hard 0987654321fedcba0987654321fedcba09876543 这会将工作区、暂存区和本地仓库都回退到指定版本。 查看工作区状态:使用 git status 命令查看工作区状态。 git status 你会看到类似以下的输出: On branch feature/login nothing to commit, working tree clean 这表示你已经成功回退到了指定版本。github /0voice
【git】工作场景下的工作区<->暂存区<->本地仓库命令实战具体案例由讯客互联互联网栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“【git】工作场景下的工作区<->暂存区<->本地仓库命令实战具体案例”