git 学习

git 学习

注意事项

1. checkout 之前最好commit.

git学习推荐课程和笔记

02-深入 Git (yuque.com)

尚硅谷Git教程全套完整版(12h深入掌握git)_哔哩哔哩_bilibili

git工作区

git 工作区流程图

image

参考博客;

【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个部分:

  1. 拟提交的变更:这是已经放入暂存区,准备使用 git commit 命令提交的变更
  2. 未暂存的变更:这是工作目录和暂存区快照之间存在差异的文件列表
  3. 未跟踪的文件:这类文件对于 Git 系统来说是未知的,也是可以被忽略的

image

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.java

Untracked 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 +0800

    commit提交测试

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 **

image

idea 操作git

1. idea 分支详细介绍

image

image

HEAD:表示当前工作的分支

2. idea 切换分支

branch 切换 test

image

切换后结果

image

切换分支存在问题:

  1. 若当前的分支已经做了一定的修改,则直接进行分支切换时git 会产生如下错误信息。这是由于已经对当前分支进行了修改,但尚未保存而导致的。

    idea checkout报错

image

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

详细介绍

image

Reset current branch here:操作执行回退,导致之间的所有提交记录全部没了

branch-sout2回溯,导致提交信息没了

image

4. undo commit

相邻的提交撤销,等同于上述Reset current branch here

posted @ 2024-07-10 14:40  我爱读论文  阅读(5)  评论(0编辑  收藏  举报