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

news/2024/4/29 18:57:40/文章来源:https://blog.csdn.net/Hogwartstester/article/details/126623688

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)将文件提交到本地仓库:

4017efe1cd0a2760d74f77a96b82a914.jpeg

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

ed9442a8c74bef2def79cef9316e29f1.jpeg

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

a0696eab557c9af4fd9e00050c8517fa.jpeg

如下图可以看到已经成功将修改后的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按钮:

9a39977c15f29cfa8e2110ec109473cc.jpege5738e18731e3c97a22dc53cb84eeb95.jpeg

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

d78b28a90fc29c5674571d2424461c72.jpeg

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命令来查看本地仓库与远程仓库的关联关系

eb191930e9859536e85ca6ef01153c5b.jpeg

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

5c8e2331ae76d3d447e3653f7e0df93a.jpeg

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

a7b2cc7180d097f910dcf85e55e65d4f.jpeg

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

74d1a52647ea789ee79eb66a753b7246.jpeg

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

b3594653306285f4be8058fba58fe6c0.jpeg

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

5b06019c9907f822133b05a8449bcde3.jpeg

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

d7f1925d77a075c0c8f706a0a5cea909.jpege5ab52bbf9ec58eed66a37b68fce0bf8.jpegbee2d8adba1f8551e8ea426c71f219f4.jpeg

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

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

git remote add other xxxx git fetch other master git merge remotes/other/masteb8813996bf84e6b03154f0355b982ad6.jpeg

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

67486655fe4958d33c06b6e220bc472e.jpeg

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

b1501f06260e8273bffd953c3f94b2c9.jpeg

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

免费领取:性能测试+接口测试+自动化测试+测试开发+测试用例+简历模板+测试文档


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_3531.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Docker 镜像构建可以分享的快乐

通过上一篇 Dockerfile 语法与指令的学习&#xff0c;本节就开始使用Dockerfile 来制作自己的 Docker 镜像啦。 Docker 镜像构建 新建 app.py 文件 from flask import Flask app Flask(__name__) app.route(/) def hello(): return Hello World! Hogwarts. 本代码主要功能是当…

物业公司如何解决降本增收?快鲸智慧社区系统来帮你

当下物业行业要解决的问题是降本增收&#xff0c;传统物业很难做到这点&#xff0c;想要生存并可持续发展&#xff0c;唯一的一条出路就是发展智慧物业&#xff0c;用技术对传统物业进行改造&#xff0c;实现降本增收的目标&#xff0c;这也是不少物业企业向智慧物业转型的原因…

【老王读Spring Transaction-1】从EnableTransactionManagement顺藤摸瓜,研究@Transactional的实现原理

从EnableTransactionManagement顺藤摸瓜&#xff0c;研究Transactional的实现原理前言版本约定正文EnableTransactionManagementProxyTransactionManagementConfiguration——Spring 事务配置的核心类TransactionInterceptorTransactionAttributeSource小结前言 Spring 对事务…

【Linux】Rocky 9.0 Podman服务无法正常启动

Rocky Linux 9.0发布后&#xff0c;我在本地虚拟机对该版本进行了安装和测试&#xff0c;发现Podman服务在某些情况下&#xff0c;无法正常启动。 当/etc/selinux/config配置中&#xff0c;SELINUXenforcing为默认配置的时候&#xff0c;启动Podman服务&#xff0c;会出现下面的…

Vue3.0中使用路由进行跳转和传参以及取值

1、在vue2.0中的路由跳转 2、在vue2.0中取出路由的传值 在vue3.0中取消了vue2.0的部分api&#xff0c;新增的两个API,分别是useRouter和useRoute。 3、vue3.0中路由跳转 1&#xff09;第一步先引入import {useRouter} from vue-router; 2&#xff09;第二步 const router useR…

使用SSH反向转发服务器上的请求到个人电脑

开启服务器ssh网关功能 修改/etc/ssh/sshd_config文件&#xff0c;将GatewayPorts 修改为yes&#xff0c;并放开AllowAgentForwarding yes和AllowTcpForwarding yes&#xff0c;GatewayPorts默认为no&#xff0c;AllowAgentForwarding、AllowTcpForwarding默认被注释 修改完成…

数字逻辑设计(4)

文章目录数组逻辑设计&#xff08;4&#xff09;1. 组合逻辑电路中的险象一、门延迟二、逻辑冒险三、险象的分类1&#xff09;静态冒险2&#xff09;动态冒险3&#xff09;功能冒险2. 险象的判断及消除险象的判断1&#xff09;代数法2&#xff09; 卡诺图法险象的消除1&#xf…

paddlepaddle

项目用到了paddlespeech2&#xff0c;学了几天paddlepaddle&#xff0c;简单记录一下: 文章目录1 手写数字识别任务2 极简方案构建手写数字识别模型模型设计训练配置训练过程模型测试3【手写数字识别】之数据处理4【手写数字识别】网络结构4.1 经典的全连接神经网络4.2 卷积神经…

14天刷爆LeetCode算法学习计划——Day02双指针(2)

Day02——双指针一、前言二、知识点三、LeetCode189. 轮转数组1.题目2.解题示意图3.解题思路4.代码实现5.验证代码6.注意点四、结语一、前言 盲目刷题只会让自己心态爆炸&#xff0c;所以本期14天算法学习计划&#xff0c;也是LeetCode上的 [算法] 学习计划&#xff0c;在本专栏…

【LeetCode】统计全 1 子矩形(单调栈)

1504. 统计全 1 子矩形 - 力扣&#xff08;LeetCode&#xff09; 一、题目 给你一个 m x n 的二进制矩阵 mat &#xff0c;请你返回有多少个 子矩形 的元素全部都是 1 。 示例 1&#xff1a; 输入&#xff1a;mat [[1,0,1],[1,1,0],[1,1,0]] 输出&#xff1a;13 解释&#x…

TCL基础学习 字符串

基本指令 Tcl将所有的变量值视作字符串&#xff0c;并将他们作为字符串来保存。下标列出了比较有用的字符串操作命令&#xff1a; append将值追加到字符串尾binary二进制字符串操作format字符串格式化regexp正则表达式regsub用字符串模式进行字符串模拟匹配和替换scan字符串分…

计算机网络面试(一)网络分层结构

文章目录为什么使用分层结构OSI参考模型分层结构——OSI参考模型ISO各个分层解析TCP/IP各个分层解析为什么使用分层结构 对网络分层以后&#xff0c;可以将问题细化&#xff0c;使得问题更加容易分析。把一个大的系统分拆成小的体系后&#xff0c;便于在各个层次上制定标准&am…

《三叶虫与其他故事》我的恐惧如涟漪扩散,荡漾过百万年的时光

《三叶虫与其他故事》我的恐惧如涟漪扩散&#xff0c;荡漾过百万年的时光 布里斯D’J.潘凯克 Breece D‘J Pancake&#xff08;1952-1979&#xff09;&#xff0c;美国作家。二十六岁时自杀身亡&#xff0c;生前仅发表过六篇小说。潘凯克深受美国南方文学传统的影响&#xff0c…

3dmax的Corona的渲染器材质要如何完全转换VRay材质?

经常有伙伴问怎么转化材质&#xff0c;将CR转换成vr或者将VR转换CR~其实这一点需要通过材质转换插件即可转换~ 方法一&#xff1a;cr转vr材质&#xff0c;自带 第一步&#xff1a;确认自己的corona渲染器版本为corona5及以上&#xff1a; ​ 第2步 确认自己的vray渲染器版本…

springboot手机推荐网站毕业设计源码052329

摘 要 随着社会的发展&#xff0c;计算机的优势和普及使得手机推荐网站的开发成为必需。手机推荐网站主要是借助计算机&#xff0c;通过对首页、手机问答、公告消息、手机资讯、手机测评、我的、跳转到后台等信息进行管理。减少管理员的工作&#xff0c;同时也方便广大用户对个…

voip|网络电话,软件实现电信座机

原理 我们办理的宽带一般都含有座机服务&#xff0c;有一个座机号&#xff0c;自己买个座机插到光猫的语音口上就能用。光猫内置语音服务&#xff0c;座机通过电话线接上光猫来打电话&#xff0c;这个语音服务本质上是VOIP&#xff0c;基于IP的语音传输&#xff0c;光猫在VOIP…

Python输入漏洞利用(Python input漏洞)

背景条件 源码为python编写的程序该程序包含input函数&#xff0c;利用用户或自动化输入获取参数进行下一步 漏洞函数 input()&#xff1a;接收用户输入且不修改输入的类型raw_input()&#xff1a;接收用户输入并强制修改为字符串类型 漏洞源码示例 #!/usr/bin/python3 #-*- …

Revit中模板类图元使用后如何处理?

Revit中模板类图元使用后如何处理? 模板这类图元在使用结束后进行拆除的在正常建模形之后它就会一直存在虽然我们可以进行视图处理&#xff0c;但是新建立视图还会显示这类图元&#xff0c;我们可以用其他方法处理它么? 这里我们可以用阶段化来控制&#xff0c;这里以小别墅为…

通过配置文件修改docker容器端口映射

有时候&#xff0c;我们需要给正在运行的容器添加端口映射&#xff0c;百度一下发现很多都是通过iptables&#xff0c;或者是通过将当前容器通过docker commit命令提交为一个镜像&#xff0c;然后重新执行docker run命令添加端口映射。这种方法虽然可以&#xff0c;但是感觉好像…

java基于ssm课程建设制作服务平台系统

1.分管理员和客户,分别有注册账号,修改密码,等功能。2.管理员模块可以在不同的专业专栏上传视频,word文稿,并修改视频名,文稿,视频的增删功能,并给视频标注A B C三个等级3.用户可以在不同的专业专栏观看视频&#xff08;可以看到abc等级&#xff09;,可以下载管理员所上传文稿,…