当前位置: 首页 > java >正文

Git版本控制与协作

 一、Git 基础概念

  1.版本控制系统(VCS):Git 是一种分布式版本控制系统。他能追踪文件的变化,记录项目的每一个版本。

2.仓库:存储项目所有文件和版本历史的文件夹。

(1)本地仓库:位于本地电脑上的项目副本。

(2)远程仓库:位于服务器上的项目副本,通常是 GitHub、GitLab 等平台。

3.工作区:正在编辑的本地文件目录。

4.暂存区:一个中间区域,用于存放下一次提交的内容。

5.提交:将暂存区的内容正式保存到本地仓库,形成一个版本。每一次提交都有一个唯一的哈希值和一段描述信息。

二、基本操作

1. git init:在你的项目文件夹中初始化一个本地 Git 仓库。

2. git status:查看工作区和暂存区的状态。这个命令能告诉哪些文件被修改了,哪些文件可以被提交。

3. git add <文件名>:将工作区的修改添加到暂存区。

4.git commit -m "提交信息":将暂存区的内容提交到本地仓库,并附上清晰的提交信息。

5.示例

(1) git init:创建一个新仓库。

(2)修改文件

(3) git status:查看修改。

(4) git add .:将修改添加到暂存区。

(5) git commit -m "完成新功能":提交修改。

三、分支和合并

1. git branch:查看本地所有分支。

2. git checkout <分支名>:切换到指定的分支。

3. git checkout -b <新分支名>:创建并切换到新分支。

4. git merge <分支名>:将指定分支的修改合并到当前分支。

5.示例

(1)git check main:确保你在主分支。 

(2) git pull:拉取远程最新代码,保证本地代码是最新的。

(3)git check -b feature-a:创建一个名为 feature-a 的新分支。

(4)在 feature-a 分支上开发新功能,并多次提交。

(5)git checkout main:切换回主分支。

(6)git merge feature-a:将 feature-a 分支的修改合并到 main 分支。

四、远程仓库操作

1.git remote:管理远程仓库。

(1) git remote -v:查看当前仓库关联的远程仓库。

(2) git remote add origin <远程仓库 URL>:将本地仓库与一个远程仓库关联起来。origin 是默认的远程仓库名称。

2.git push:将本地提交推送到远程仓库。

(1)git push -u origin main:第一次推送时,需要使用-u 参数将本地的 main 分支与远程的 main 分支关联起来。

(2)git push:之后只需要简单地执行 git push 即可。

3.git pull:将远程仓库的最新代码拉取到本地仓库

(1)git pull origin main:拉取远程 origin 仓库的 main 分支

(2)git pull:如果已设置跟踪分支,可以直接使用 git pull。

五、GitHub工作流

1.克隆仓库:团队成员通过 git clone 将项目从 GitHub 克隆到本地。

2.创建新分支:每个成员为新功能或修复创建一个独立的分支。

git checkout -b feature-a

3.开发并提交:在新分支上进行开发,并多次提交(git add -> git commit)。

4.推送分支:将自己的新分支推送到 GitHub。

git push origin feature-a

5.创建拉取请求:在 GitHub页面上,为此分支创建一个拉取请求(PR)。

(1)PR 是一个协作和代码审查的平台。团队成员可以在 PR 中审查代码、提意见、讨论问题。

6.合并代码:审查通过后,将 PR 合并到主分支(通常是 main 或 dev)。

7.删除分支:合并后,可以删除远程和本地的分支。

http://www.xdnf.cn/news/18112.html

相关文章:

  • 4.9 配置 开发服务器 和 请求代理
  • 汽车之家联合HarmonyOS SDK,深度构建鸿蒙生态体系
  • 使用Idea安装JDK
  • 从零开始,系统学习AI与机器学习:一份真诚的学习路线图
  • 容器化 Android 开发效率:cpolar 内网穿透服务优化远程协作流程
  • Baumer高防护相机如何通过YoloV8深度学习模型实现网球运动员和网球速度的检测分析(C#代码UI界面版)
  • WPF中BindingList<T>和List<T>
  • Conda技巧:修改Conda环境目录,节省系统盘空间
  • 学习:各种不同类型的for循环遍历,forEach/map/filter/every/some/includes/reduce的详细用法(1)
  • 【项目】分布式Json-RPC框架 - 项目介绍与前置知识准备
  • [Linux]学习笔记系列 --[mm][list_lru]
  • Redis-缓存-穿透-布隆过滤器
  • 测试Windows10IoT系统是否可以正常运行KingSCSDA3.8软件
  • Transformer架构的数学本质:从注意力机制到大模型时代的技术内核
  • 蓝凌EKP产品:JSP 性能优化和 JSTL/EL要点检查列表
  • Excel 表格数据自动填充
  • C语言私人学习笔记分享
  • Canny边缘检测
  • pyecharts可视化图表组合组件_Grid:打造专业数据仪表盘
  • python pandas库 series如何使用
  • 电脑上搭建HTTP服务器在局域网内其它客户端无法访问的解决方案
  • 【Tech Arch】Hive技术解析:大数据仓库的SQL桥梁
  • 【从零开始学习Redis】项目实战-黑马点评D2
  • Conda 环境 在AI 私有化部署 有怎么用?
  • 迅速掌握Git通用指令
  • C++内存模型
  • 数据结构代码分享-1 顺序表
  • Redis面试精讲 Day 23:Redis与数据库数据一致性保障
  • Python 设计模式详解 —— 掌握软件设计的通用解决方案
  • 常用的SQL语句