git 学习
git学习推荐课程和笔记
02-深入 Git (yuque.com)
尚硅谷Git教程全套完整版(12h深入掌握git)_哔哩哔哩_bilibili
git工作区
git 工作区流程图
参考博客;
【Git】(1)---工作区、暂存区、版本库、远程仓库 - 雨点的名字 - 博客园 (cnblogs.com)
【Git】---工作区、暂存区、版本库、远程仓库 - hanease - 博客园 (cnblogs.com)
git 文件三种状态
git中,文件的状态只有三种(已修改、已暂存、已提交)
已修改 : 在工作目录修改Git文件
已暂存 : 对已修改的文件执行Git暂存操作(git add),将文件存入暂存区
已提交 : 将已暂存的文件执行Git提交操作(git commit),将文件存入版本库
我们对文件的各种操作新建、编辑(写代码)都是在工作区
完成的,但是工作区的文件还是不被Git所管理的
git status 详解
1. git status结果分析
当执行 git status
的时候,返回结果大致可分为3个部分:
- 拟提交的变更:这是已经放入暂存区,准备使用 git commit 命令提交的变更
- 未暂存的变更:这是工作目录和暂存区快照之间存在差异的文件列表
- 未跟踪的文件:这类文件对于 Git 系统来说是未知的,也是可以被忽略的
2. git status 命令
#查看指定文件状态
git status [filename]
#查看所有文件状态
git status
git commit 详解
git commit 命令
#将暂存区-->资源库(版本库)
git commit -m '该次提交说明'
PS D:\java\gitStudy> git status
On branch master
Changes to be committed:(use "git restore --staged <file>..." to unstage)new file: CommitTest.javaUntracked files:(use "git add <file>..." to include in what will be committed).idea/ingoretest.java# 提交 PS D:\java\gitStudy> git commit -m "commit提交测试"
[master c228023] commit提交测试1 file changed, 2 insertions(+)create mode 100644 CommitTest.java# 提交历史
PS D:\java\gitStudy> git log
commit c228023a4c357a61606b9eb6bff4e33b90b8057a (HEAD -> master)
Author: c
Date: Tue Jul 9 16:29:23 2024 +0800commit提交测试commit 5075727703edf81cdb914a5540d4030812f94342
Author: c
Date: Tue Jul 9 16:23:05 2024 +0800新建文件测试提交到暂存区commit 47c4d714e7c8c5418f3a258e24d99ec14af83f23
Author: c
Date: Tue Jul 9 16:16:22 2024 +0800第一次提交
idea commit 提交
**快捷方式: ctrl+k **
idea 操作git
1. idea 分支详细介绍
HEAD:表示当前工作的分支
2. idea 切换分支
branch 切换 test
切换后结果
切换分支存在问题:
-
若当前的分支已经做了一定的修改,则直接进行分支切换时,git 会产生如下错误信息。这是由于已经对当前分支进行了修改,但尚未保存而导致的。
idea checkout报错
git checkout 报错
error: Your local changes to the following files would be overwritten by checkout : xxxx
Please commit your changes or stash them before you switch branches
解决办法: checkout之前 先commit
1. 在当前分支(master)先提交(commit) 保存修改信息 2. checkout 目标分支(branch):当再次切换回来的时候 master分支修改的内容已经保存,不会丢失。
git 学习笔记 —— 保留/丢弃当前分支修改并切换至其他分支 - yhjoker - 博客园 (cnblogs.com)
3. idea Reset current branch here
详细介绍
Reset current branch here:操作执行回退,导致之间的所有提交记录全部没了
branch-sout2回溯,导致提交信息没了
4. undo commit
相邻的提交撤销,等同于上述Reset current branch here