【JAVA】Git 的基本概念和使用方式

Git是一个开源的分布式版本控制系统,由Linus Torvalds创建,用于有效、高速地处理从小到大的项目版本管理。以下是Git的一些基本概念和使用方式的深入探讨:

基本概念

1. 仓库(Repository)
  • 仓库是Git用来保存你的项目文件和版本历史的地点。
2. 工作区(Working Directory)
  • 工作区是仓库中检查出来的当前版本的一个拷贝,你可以在这个目录下修改文件。
3. 暂存区(Staging Area)
  • 暂存区是一个准备下一次提交的改动的文件列表,通常是一个保存在Git仓库目录中的简单数据库。
4. 提交(Commit)
  • 提交是你将暂存区的改动写入项目历史中的操作。
5. 分支(Branch)
  • 分支是Git中一个非常强大的功能,它允许你从开发主线上分出一个并行的线路,你可以在这个分支上进行开发,而不会影响主线上的代码。
6. 合并(Merge)
  • 合并是将一个分支的改动历史整合到另一个分支上。
7. 回滚(Revert)
  • 回滚是撤销某次提交所做的改动。
8. 远程仓库(Remote Repository)
  • 远程仓库是托管在网络服务器上的仓库,可以多人协作开发。

使用方式

初始化仓库
bash 复制代码
git init
添加文件到暂存区
bash 复制代码
git add <file>
提交改动到仓库
bash 复制代码
git commit -m "commit message"
查看当前分支
bash 复制代码
git branch
创建并切换到新分支
bash 复制代码
git checkout -b <branch-name>
切换到已有分支
bash 复制代码
git checkout <branch-name>
合并分支
bash 复制代码
git merge <branch-name>
查看当前状态
bash 复制代码
git status
查看提交历史
bash 复制代码
git log
回滚到某次提交
bash 复制代码
git revert <commit-hash>
克隆远程仓库
bash 复制代码
git clone <repository-url>
添加远程仓库
bash 复制代码
git remote add <remote-name> <repository-url>
推送到远程仓库
bash 复制代码
git push <remote-name> <branch-name>
从远程仓库拉取
bash 复制代码
git pull <remote-name> <branch-name>
解决冲突

当Git无法自动合并改动时,你需要手动解决冲突。Git会标记出有冲突的文件,你编辑这些文件,解决冲突后,使用git add将它们标记为解决冲突,然后进行git commit

高级使用

1. 分支策略
  • GitFlow:一种严格的分支管理策略,适用于大型复杂项目。
  • GitHub Flow:适用于更频繁发布和较小特性开发的项目。
2. 交互式暂存
  • 使用git add -igit add --interactive进行交互式暂存。
3. 变基(Rebase)
  • 使用git rebase将当前分支上的改动应用到另一分支上,使得项目历史更加线性。
4. 标签(Tag)
  • 使用git tag来标记重要的提交,如版本发布点。
5. 子模块(Submodule)
  • 使用子模块可以包含其他Git仓库作为项目的一部分。
6. 钩子(Hooks)
  • Git提供了多种钩子,可以在特定的Git操作发生时自动执行脚本。
7. 配置别名
  • 使用git config配置别名,简化常用命令。
相关推荐
鱼钓猫的小鱼干7 分钟前
Git 安装
git
爱串门的小马驹2 小时前
git,ssh免密公钥配置,gitee为例,GitHub,gitlab同理
运维·git·ssh
小小小妮子~3 小时前
掌握Git分布式版本控制工具:从基础到实践
分布式·git
前端与小赵8 小时前
什么是Git,有什么特点
git
写bug写bug8 小时前
如何使用 .gitignore 文件
前端·git·后端
Dnelic-9 小时前
【笔记】Android Gradle Plugin配置文件相关说明-libs.versions.toml
android·ide·笔记·gradle·plugin·版本控制
javajingling13 小时前
git自动转换换行符问题
git
烂笔头119 小时前
当前分支git pull或 push报错
git
代码一天不写我浑森蓝廋20 小时前
git根据远程分支创建本地新分支
git