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

简介: GitHub 上我们可以 fork 别人的项目,为了与别人产生一种协作关系,将他人的项目在自己本地创建也一个,这里以霍格沃兹测试学院(Hogwarts)的演练环境做演示:1.1) 点击fork按钮对项目进行fork:1.2)fork完成后就可以在我们自己的GitHub账户下见到被fork的项目:2.1)接着我们使用git clone命令将fork的项目clone到本地:这个
更多技术文章分享和免费资料领取
https://qrcode.ceba.ceshiren.com/link?name=article&project_id=qrcode&from=Aliyun&timestamp=1651203635

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=1651203635

相关文章
|
6月前
|
开发工具 数据安全/隐私保护 git
Git切换本地用户名,IDEA集成Git如何切换本地用户名
Git切换本地用户名,IDEA集成Git如何切换本地用户名
98 3
|
6月前
GitHub和Gitee的基本使用和在IDEA中的集成
GitHub和Gitee的基本使用和在IDEA中的集成
70 0
|
6月前
|
消息中间件 安全 druid
GitHub昙花一现!《Spring Boot趣味实战课》神作开源几分钟被下架
今天给大家分享好书了:刘水镜老师的 《Spring Boot趣味实战课》,网上依旧是没有开源版本!小编会在文末附电子版免费下载方式。 刘水镜是谁? 十余年持续技术文章输出,CSDN博客专家。2020年《 Spring Boot趣味私房课》专栏上线,凭借风趣幽默、深入浅出的写作风格深受读者好评。 《Spring Boot趣味实战课》 内容丰富、趣味实战是本书的两大特色 涵盖 Spring MVC、MyBatis Plus、Spring DaJPA、Spring Security、Quartz等主流框架 整合MySQL. Druid、Redis、 RabbitMQ、Elastics
100 0
|
27天前
|
开发工具 git
工作中常用到的github命令
工作中常用到的github命令
10 0
|
6月前
|
IDE 测试技术 项目管理
集成开发环境(IDE)的使用:提升Visual Basic开发效率的工具和技巧
【4月更文挑战第27天】本文探讨了如何使用Visual Basic IDE提升开发效率,包括理解IDE组件、利用代码编辑器的智能功能、通过界面设计器设计GUI、使用调试和测试工具、有效管理项目与版本控制、掌握快捷键和宏、定制IDE以及利用学习资源。通过充分利用这些工具和技巧,开发者能更快地编写高质量代码,高效管理项目,从而提升整体开发效率。随着IDE的持续发展,开发者应不断学习新特性以适应进步。
146 1
|
2月前
|
Shell 网络安全 开发工具
Git,GitHub,Gitee&IDEA集成Git
Git提交项目到GitHub简洁版、版本控制、安装、常用命令、分支、团队协作机制、Github、Gitee远程仓库、IDEA集成Git、IDEA集成Github、IDEA集成Gitee
Git,GitHub,Gitee&IDEA集成Git
|
3月前
|
jenkins 持续交付 开发工具
"引爆效率革命!Docker+Jenkins+GIT+Tomcat:解锁持续集成魔法,一键部署Java Web应用的梦幻之旅!"
【8月更文挑战第9天】随着软件开发复杂度的增加,自动化变得至关重要。本文通过实例展示如何结合Docker、Jenkins、Git与Tomcat建立高效的持续集成(CI)流程。Docker确保应用环境一致性;Jenkins自动化处理构建、测试和部署;Git管理源代码版本;Tomcat部署Web应用。在Jenkins中配置Git插件并设置项目,集成Docker构建Tomcat应用镜像并运行容器。此外,通过自动化测试、代码质量检查、环境隔离和日志监控确保CI流程顺畅,从而显著提高开发效率和软件质量。
73 3
|
3月前
|
IDE API 开发工具
通过IDE插件体验阿里云OpenAPI的高效集成, 精品礼品等你来拿!
轻量级的开放API工具——Alibaba Cloud Developer Toolkit及Alibaba Cloud API Toolkit。这些插件支持快速查阅阿里云产品的开放API,提供API调试与SDK示例生成等功能,帮助开发者轻松集成阿里云服务。您可通过JetBrains Marketplace或VS Code Marketplace搜索安装,完成身份验证后即刻体验。欢迎分享您的使用反馈,有机会获得精美礼品!
|
3月前
|
jenkins 持续交付 开发工具
自动化开发之旅:Docker携手Jenkins,与Git和Tomcat共舞持续集成
【8月更文挑战第13天】在软件开发中,持续集成(CI)通过自动化构建、测试与部署提升效率与稳定性。Docker、Jenkins、Git和Tomcat构成CI的黄金组合:`git push`触发Jenkins作业,利用Docker确保环境一致性,最终将应用部署至Tomcat。首先配置Git Webhooks以触发Jenkins;接着在Jenkins中创建作业并使用Docker插件模拟真实环境;通过Maven构建项目;最后部署至Tomcat。这套流程减少人为错误,提高开发效率,展示了技术的力量与流程的革新。
82 0
爆赞!GitHub首本Python开发实战背记手册,标星果然百万名不虚传
Python (发音:[ 'paiθ(ə) n; (US) 'paiθɔn ] n. 蟒蛇,巨蛇 ),是一种面向对象的解释性的计算机程序设计语言,也是一种功能强大而完善的通用型语言,已经具有十多年的发展历史,成熟且稳定。Python 具有脚本语言中最丰富和强大的类库,足以支持绝大多数日常应用。 Python 语言的特点: