Git 实战(三) | Github 必会高频基础命令与 IDE 的 Git 集成

简介: GitHub 上我们可以 fork 别人的项目,为了与别人产生一种协作关系,将他人的项目在自己本地创建也一个,这里以霍格沃兹测试学院(Hogwarts)的演练环境做演示:1.1) 点击fork按钮对项目进行fork:1.2)fork完成后就可以在我们自己的GitHub账户下见到被fork的项目:2.1)接着我们使用git clone命令将fork的项目clone到本地:这个

GitHub 上我们可以 fork 别人的项目,为了与别人产生一种协作关系,将他人的项目在自己本地创建也一个,这里以霍格沃兹测试学院(Hogwarts)的演练环境做演示:

1.1) 点击fork按钮对项目进行fork:

1.2)fork完成后就可以在我们自己的GitHub账户下见到被fork的项目:

2.1)接着我们使用git clone命令将fork的项目clone到本地:

这个时候可以将此项目看做是自己的一个项目,可以任意修改;

2.2)项目的作者可以看到有哪些人fork了自己的项目:

3.1) 先在本地修改README.md文件为:

# Hogwarts_Online2

霍格沃兹测试学院定向班第二期演练
try it

3.2)将文件提交到本地仓库:

这个时候可以看到提交的作者已经变成我们自己了;
也可以使用git remote -v命令来查看,可见现在本地仓库与远程仓库直接关联的是fork之后的项目:

3.3)只用git push命令将本地仓库的文件推到远程仓库中去:

如下图可以看到已经成功将修改后的README.md文件推到了GitHub上:

pr:全称 pull request,当我们修改了 fork 后的项目后,因为不能直接修改别人的项目,这个时候想要将自己的修改与原项目合并,就可以使用 pr 来向原项目作者进行申请

4.1)发起 pr,点击 New pull request:

然后我们可以看到仓库路径从我的仓库向原作者项目仓库地址发起 pr 请求,在下面可以看到我对项目的修改 diff:

4.2)这个时候我们点击Create new pull request按钮,填写描述后再点击Create new pull request按钮:

这个时候原仓库维护人员就可以收到pr,并对其进行审核、评论、merge或close的操作:

5.1) 在文件修改没有冲突(conflict)的时候,可以直接merge:

5.2) 当文件修改有冲突的时候,就需要原作者去进行RResolve了:

5.3) 或者有冲突的pr直接close:
总结下来有以下三种情况:

  • 无冲突直接merge
  • 有冲突手工merge
  • 有冲突close并重新发起pr

有时候我们fork了项目,但是很有可能我们对项目的修改会比原项目滞后,这就会导致pr的时候容易出现conflict;为了能让我们知道当前的修改是否conflict,就需要使用git fetch命令了;
使用 git fetch 拿下来一个远程分支的文件,看一下这个分支和我自己的有什么冲突。
7.1)先使用git remote -v命令来查看本地仓库与远程仓库的关联关系

这个时候我们可以增加一个remote,选择原仓库的HTTPS地址,使用git remote add <远端名> <远端地址>命令来添加一个remote:

7.2)再将远程端的master分支fetch到本地:

7.3) 这时候使用git merge将当前master分支与远端分支合并:

结果中我们发现产生了冲突,再使用git status命令查看:

发现两边都修改了README.md,这个时候我们使用vi对README.md进行查看,当我们merge的时候,系统会把文件换成以下的展示模式:

这种展示模式的意思是以等号=为分隔符,等号上方为当前分支的修改,等号下方为远程分支的修改,这样就产生的冲突,我们可以手动进行修改,然后merge:


7.4) 这个时候刷新GitHub,在我们自己的分支仓库中可以看到已经成功将修改进行merge:

这个时候如果再进行pr的话,遇见conflict的几率就会小的多了
命令简单总结:

git remote add other xxxx
git fetch other master
git merge remotes/other/maste


8.1)将项目用IDEA打开,在Version Control -> log中可以看到我们的提交管理线:


8.2)双击文件可以查看文件diff:


8.3)在右下角还可以进行Git分支的管理:

点击阅读原文,了解详情。
原文链接

更多技术分享:https://qrcode.ceba.ceshiren.com/link?name=article&project_id=qrcode&from=Aliyun&timestamp=1649928799
点击查看

相关文章
|
人工智能 自然语言处理 API
快速集成GPT-4o:下一代多模态AI实战指南
快速集成GPT-4o:下一代多模态AI实战指南
788 101
|
缓存 监控 安全
通义大模型与现有企业系统集成实战《CRM案例分析与安全最佳实践》
本文档详细介绍了基于通义大模型的CRM系统集成架构设计与优化实践。涵盖混合部署架构演进(新增向量缓存、双通道同步)、性能基准测试对比、客户意图分析模块、商机预测系统等核心功能实现。同时,深入探讨了安全防护体系、三级缓存架构、请求批处理优化及故障处理机制,并展示了实时客户画像生成和动态提示词工程。通过实施,显著提升客服响应速度(425%)、商机识别准确率(37%)及客户满意度(15%)。最后,规划了技术演进路线图,从单点集成迈向自主优化阶段,推动业务效率与价值持续增长。
|
人工智能 Java API
Java与大模型集成实战:构建智能Java应用的新范式
随着大型语言模型(LLM)的API化,将其强大的自然语言处理能力集成到现有Java应用中已成为提升应用智能水平的关键路径。本文旨在为Java开发者提供一份实用的集成指南。我们将深入探讨如何使用Spring Boot 3框架,通过HTTP客户端与OpenAI GPT(或兼容API)进行高效、安全的交互。内容涵盖项目依赖配置、异步非阻塞的API调用、请求与响应的结构化处理、异常管理以及一些面向生产环境的最佳实践,并附带完整的代码示例,助您快速将AI能力融入Java生态。
1708 12
|
存储 Java 开发工具
【Git】零基础入门:配置与初始操作实战指南
本文聚焦 Git 的“从 0 到 1”配置与基础操作,旨在帮助 Java 开发者快速掌握环境搭建、用户配置、仓库初始化、代码提交、版本回退等核心技能。内容设计上避免涉及复杂的分支策略或高级命令,以实用为导向,适合零基础入门者系统学习,为后续参与企业级项目开发奠定版本控制基础。
|
人工智能 安全 Shell
Jupyter MCP服务器部署实战:AI模型与Python环境无缝集成教程
Jupyter MCP服务器基于模型上下文协议(MCP),实现大型语言模型与Jupyter环境的无缝集成。它通过标准化接口,让AI模型安全访问和操作Jupyter核心组件,如内核、文件系统和终端。本文深入解析其技术架构、功能特性及部署方法。MCP服务器解决了传统AI模型缺乏实时上下文感知的问题,支持代码执行、变量状态获取、文件管理等功能,提升编程效率。同时,严格的权限控制确保了安全性。作为智能化交互工具,Jupyter MCP为动态计算环境与AI模型之间搭建了高效桥梁。
1003 2
Jupyter MCP服务器部署实战:AI模型与Python环境无缝集成教程
|
人工智能 自然语言处理 分布式计算
AI 驱动传统 Java 应用集成的关键技术与实战应用指南
本文探讨了如何将AI技术与传统Java应用集成,助力企业实现数字化转型。内容涵盖DJL、Deeplearning4j等主流AI框架选择,技术融合方案,模型部署策略,以及智能客服、财务审核、设备诊断等实战应用案例,全面解析Java系统如何通过AI实现智能化升级与效率提升。
1022 0
|
人工智能 API 开发工具
GitHub官方开源MCP服务!GitHub MCP Server:无缝集成GitHub API,实现Git流程完全自动化
GitHub MCP Server是基于Model Context Protocol的服务器工具,提供与GitHub API的无缝集成,支持自动化处理问题、Pull Request和仓库管理等功能。
3916 2
GitHub官方开源MCP服务!GitHub MCP Server:无缝集成GitHub API,实现Git流程完全自动化
|
JSON JavaScript API
MCP 实战:用配置与真实代码玩转 GitHub 集成
MCP 实战:用配置与真实代码玩转 GitHub 集成
3177 4
|
Java Maven Docker
gitlab-ci 集成 k3s 部署spring boot 应用
gitlab-ci 集成 k3s 部署spring boot 应用
|
消息中间件 监控 Java
您是否已集成 Spring Boot 与 ActiveMQ?
您是否已集成 Spring Boot 与 ActiveMQ?
686 0