学完后能干什么?
代码回溯
版本切换
多人协作
远程备份
Git 全局设置
当安装Git后首先要做的事情是设置用户名称和email地址。这是非常重要的,因为每次Git提交都会使用该用户信息。
在Git 命令行中执行下面命令:
设置用户信息
git config --global user.name "用户名"
git config --global user.email "hello@邮箱.cn"
查看配置信息
git config --list
注意:上面设置的user.name和user.email并不是我们在注册码云账号时使用的用户名和邮箱,此处可以任意设置。
Git 常用命令
获取Git 仓库
要使用Git对我们的代码进行版本控制,首先需要获得Git仓库。
获取Git仓库通常有两种方式:
在本地初始化一个Git仓库 (不常用)
git init
从远程仓库克隆(常用)
git clone 远程仓库地址
添加到暂存区
git add *
本地仓库常用命令
查看文件状态
git status
将文件的修改加入暂存区
git add
将暂存区的文件取消暂存或者是切换到指定版本
git reset
git reset 文件名 git reset --hard 版本号(版本号可以不用写全,能唯一标识就行)
将暂存区的文件修改提交到版本库
git commit
查看日志
git log
概念
版本库:前面看到的.git隐藏文件夹就是版本库,版本库中存储了很多配置信息、日志信息和文件版本信息等
工作区:包含.git文件夹的目录就是工作区,也称为工作目录,主要用于存放开发的代码
暂存区:.git文件夹中有很多文件,其中有一个index文件就是暂存区,也可以叫做stage。暂存区是一个临时保存修改文件的地方
Git工作区中文件的状态
Git工作区中的文件存在两种状态
untracked 未跟踪(未被纳入版本控制)
tracked 已跟踪(被纳入版本控制)
- Unmodified 未修改状态
- Modified 已修改状态
- Staged 已暂存状态
注意: 这些文件的状态会随着我们执行Git的命令发生变化
远程仓库操作
前面执行的命令操作都是针对的本地仓库,本节我们会学习关于远程仓库的一些操作,具体包括:
查看远程仓库
git remote git remote -v //看到远程仓库和其地址
添加远程仓库(习惯性都用origin作为远程仓库名)
git remote add 仓库名 仓库URL
从远程仓库克隆
git clone 远程仓库的URL
从远程仓库拉取
git pull [远程仓库名称] [远程仓库分支名称]
注意:如果当前本地仓库不是从远程仓库克隆,而是本地创建的仓库,并且仓库中存在文件,此时再从远程仓库拉取文件的时候会报错 (fatal: refusing to merge unrelated histories )
解决此问题可以在git pull命令最后面加入参数--allow-unrelated-histories
推送到远程仓库(非创建人的话要先邀请为成员才能执行)
git push [远程仓库名称] [远程仓库分支名称]
分支操作
分支是Git 使用过程中非常重要的概念。使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。
同一个仓库可以有多个分支,各个分支相互独立,互不干扰。
通过git init 命令创建本地仓库时默认会创建一个master分支
本节我们会学习关于分支的相关命令,具体如下:
git branch 查看分支
git branch 列出所有本地分支
git branch -r 列出所有远程分支
git branch -a 列出所有本地分支和远程分支
现在在哪个分支上就是绿色前面带星
git branch [name] 创建分支
git checkout [name] 切换分支
git push [shortName] [name] 推送至远程仓库分支
Git 也允许你在推送时改变远程分支的名称。例如,你可以将本地的 b1 分支推送到远程的 b2 分支。这可以通过以下命令实现:
git push origin b1:b2
git merge [name] 合并分支
合并分支冲突时,手动解决冲突(修改文件内容) 并重新添加,如果commit 有问题 那么后面加一个 -i (ignore忽略)
标签操作
Git 中的标签,指的是某个分支某个特定时间点的状态。通过标签,可以很方便的切换到标记时的状态。
比较有代表性的是人们会使用这个功能来标记发布结点 (v1.0、v1.2等)。下面是mybatis-plus的标签:
当然可以,以下是你的Git标签操作笔记的整理版:
Git标签操作
在本节中,我们将学习如何使用与标签相关的命令:
- 列出已有的标签
使用 git tag 命令可以列出你在本地仓库中创建的所有标签。
git tag
- 创建标签
使用 git tag [name] 命令可以创建一个新的标签。在这里,[name] 是你想要给新标签的名称。
git tag [name]
- 将标签推送至远程仓库
使用 git push [shortName] [name] 命令可以将一个标签推送到远程仓库。在这里,[shortName] 是远程仓库的别名,[name] 是你想要推送的标签的名称。
git push [shortName] [name]
- 检出标签
使用 git checkout -b [branch] [name] 命令可以创建一个新的分支,并将其切换到某个标签。在这里,[branch] 是你想要创建的新分支的名称,[name] 是你想要检出的标签的名称。
git checkout -b [branch] [name]
IDEA中使用git
idea中配置Git
在idea中配置git.exe,配完路径可以点一下Test测试是否配置成功(弹出版本号就说明成功了)
获取Git仓库
本地创建Git仓库
远程克隆Git仓库
或者
选好仓库在本地的地址
.gitignore
.gitignore 文件是一个文本文件,它告诉 Git 版本控制系统哪些文件或目录不应该被添加到 Git 仓库中。这对于排除系统文件、日志文件、本地配置文件、构建产物等是非常有用的。
在一个 Java Spring Boot 项目中,.gitignore 文件通常会包含以下内容:
- target/:这是 Maven 或 Gradle 构建的输出目录,包含了编译后的 .class 文件和最终的 .jar 或 .war 文件。
- .idea/或 *.iml:如果你使用 IntelliJ IDEA,这些文件和目录包含了你的 IDE 特定设置。
- *.log:这可能是你的应用生成的日志文件。
- .env:这可能包含你的本地环境变量设置。
- *.pid:这可能是你的应用在运行时创建的 PID 文件。
- *.class:这是编译后的 Java 类文件。
- *.jar:这是 Java 应用的打包文件。
- *.war:这是用于部署到 Web 服务器的打包文件。
- *.swp:这是由一些文本编辑器(如 Vim)创建的临时文件。
- *.bak:这是备份文件。
- *.off:这是临时文件。
- *.old:这是旧版本文件。
- *.tmp:这是临时文件。
这只是一个基本的列表,你的 .gitignore 文件可能需要根据你的具体需求进行修改。
这种东西一般去gitee或GitHub里面copy别人的再改改就好了,哈哈哈
本地仓库操作(略)
- 将文件加入暂存区
- 将暂存区的文件提交到版本库
- 查看日志
略............................................................
远程仓库操作
- 查看远程仓库
- 添加远程仓库
- 推送至远程仓库
- 从远程仓库拉取
分支操作
- 查看分支
右下角或
- 创建分支
- 切换分支
- 将分支推送到远程仓库
- 合并分支