惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The Last Watchdog
The Last Watchdog
量子位
博客园 - 聂微东
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
有赞技术团队
有赞技术团队
MongoDB | Blog
MongoDB | Blog
Stack Overflow Blog
Stack Overflow Blog
GbyAI
GbyAI
雷峰网
雷峰网
M
MIT News - Artificial intelligence
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - Franky
V
Visual Studio Blog
C
Check Point Blog
爱范儿
爱范儿
罗磊的独立博客
Engineering at Meta
Engineering at Meta
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
小众软件
小众软件
H
Help Net Security
B
Blog
Recent Announcements
Recent Announcements
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园 - 叶小钗
B
Blog RSS Feed
Cisco Talos Blog
Cisco Talos Blog
S
Schneier on Security
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
T
Tor Project blog
TaoSecurity Blog
TaoSecurity Blog
Scott Helme
Scott Helme
AI
AI
D
DataBreaches.Net
Simon Willison's Weblog
Simon Willison's Weblog
V
Vulnerabilities – Threatpost
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
L
Lohrmann on Cybersecurity
C
CERT Recently Published Vulnerability Notes
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Last Week in AI
Last Week in AI
T
Threatpost
Y
Y Combinator Blog
Martin Fowler
Martin Fowler
Know Your Adversary
Know Your Adversary
T
Tailwind CSS Blog
N
News and Events Feed by Topic
N
News and Events Feed by Topic
The Hacker News
The Hacker News
P
Proofpoint News Feed

澄沨的漫游茶记

岁暮杂记 在 KOReader 上显示直排文本 虎落平阳:TNO 美国罗伯特·F·肯尼迪线·前篇 烟火·乙巳 蜀都行纪 实习日 事故小记 烟火·甲辰 藏地行纪 元旦杂记 浴火重生:TNO 东方红西北国防阵线党权线·后篇 太阳旗之下:TNO 东方红西北国防阵线党权线·前篇 尚在人间:TNO 乌克兰-苏维埃社会主义共和国线 上海电信 SDN 网关全局域网皆可收看 IPTV 的实现 论 AList 的滥用:多平台串联搭建个人影音-番剧流媒体服务 俄罗斯已逝:TNO 俄罗斯科米-神俄线·后篇 紫日高悬:TNO 俄罗斯科米-神俄线·前篇 The Pure WINDOWS Project: 使用 Windows Sandbox 隔离腾讯系软件的笔记 廣東手艺人:TNO 广东国索尼-长江实业线 使用 PaaS 服务部署 umami 统计工具的笔记 柏林春晓:TNO 德国施佩尔左线 闲话 COMICUP 与敝站 解决小米手机在 fastboot 模式下不被 Windows 识别的问题 贺正·癸卯 MIUI 下观看 Netflix 等流媒体时 Widevine DRM L1 认证失效之解决 崇明骑行纪事·合 磊哥小传 崇明骑行纪事·转 让 Hyper-V 虚拟机支持调用 USB 摄像头 崇明骑行纪事·起承 炎夏小憩 飞哥小传 さよなら、WordPress 使用 Cloudflare Workers 加速甲骨文存储桶 博客流浪纪事 moe-counter-cf:将萌萌计数器部署到 Cloudflare Workers 烟火·迪士尼 红十字救护员培训小记 迁移到了狗云 探索优雅纯粹的追番体验:蜜柑计划 + Resilio Sync Moe-counter: 给网站装上多种风格可选的萌萌计数器 疫情,在下的朋友圈拾遗 Postcrossing 初探小记 使用甲骨文免费云服务器搭建 frp 内网穿透工具的笔记 「在下」的两周年 The Pure WINDOWS Project: Hyper-V 虚拟机使用笔记 The Pure MIUI Project: 小米 10 刷机笔记 烟火·壬寅 贝恩小传「大盛り」 非法侵入住宅罪之浅究 碧蓝航线舰娘原型考据「铁血驱逐篇」 贰拾 火警纪事 观 EDG 夺冠有感 华硕路由器实现远程唤醒局域网设备的笔记 军训随笔 夏日蓝调 在 Wordpress 博客里创建彩色标签云页面的笔记 贝恩小传 迁移到了 Bandwagon Host 杂诗二首 来给 WordPress 添加一个书单页面吧 乡影随摄 从刑法的报复主义论中国刑法的发展 漫谈二次元的「破圈」 浅谈「FBI WARNING」 とある魔都の ACGN 巡礼目録 桜色 在 WordPress 上添加 moc3 Live2d 看板娘的超简单方法 COVID-19 疫苗接种全纪录 Steam 转区小记 元旦 更新主题为 Sakurairo 华为 HarmonyOS / EMUI 安装 GMS 谷歌框架的笔记 下载没有下载权限的钉钉直播回放的笔记 Re:从零开始的 Windows 简明优化指南 Re:从零开始的计算机使用指南 使用 ADB 工具箱卸载手机预装应用 基于宝塔面板的 Google Drive 百宝箱搭建笔记 The Story of the Snake | 蛇纪事 参议院纪事 箱轮纪事
解决 Github 同步复刻上游仓库时冲突的问题
澄沨 · 2022-03-20 · via 澄沨的漫游茶记

假如 Fork 来的仓库中文件的内容发生了变更,此时想要同步复刻上游仓库就无法通过 Fetch upstream(提取上游)下拉菜单一键实现了。具体情况表现为下拉菜单中只存在 Open pull request 选项而没有 Fetch and merge(提取并合并)。要解决这个问题,需要用到 Git,它是一个免费开源的分布式版本控制器。

找到对应系统版本的安装包来安装 Git,安装完成后能找到三个相关工具,分别是 Git CMD、Git GUI 和 Git Bash,这里只需要用到 Git Bash

配置 Git Bash

首次使用 Git Bash 需要先设置一个用户,这样远程仓库就能知道是谁对仓库做了修改。

1
2
git config --global user.name "Username"
git config --global user.email "email@example.com"

如果使用了 --global 选项,那么该命令只需要运行一次,之后无论在 Git 做任何操作, Git 都会使用该信息。若想针对特定项目使用不同的用户名与电子邮件时,可以只在那个项目目录下运行没有 –global 选项的命令来配置。

配置本地仓库

接着使用 git clone 从现有 Git 仓库中拷贝需要同步复刻的项目。

1
git clone <repo> <directory>

这里的 <repo> 就是远程仓库地址,可以在 Github 仓库页面的 Code - Clone 选项中找到,一般使用 HTTPS 链接即可;而 <directory> 则是选择该仓库在本地存放的路径。

解决 Merge 冲突

仓库成功克隆到本地之后,就可以开始同步复刻上游仓库的命令了,在 Git Bash 中依次输入如下命令:

1
2
3
4
5
6
7
8

git fetch upstream


git checkout main


git merge upstream/main

这时命令行便会输出存在冲突的文件,通常表现为:

1
2
CONFLICT (content): Merge conflict in path/to/file.txt
Automatic merge failed; fix conflicts and then commit the result.

接下来需要做的,就是在本地用文本编辑器打开存在冲突的文件,仔细检查该文件的内容,Git 已经用符号标记出了冲突的位置,从 <<<<<<< HEAD======= 是未修改之前文件内容,而从 =======>>>>>>> upstream/main 则是上游仓库修改之后的内容。

选择想要保存的内容,然后删除其余被标记的内容,标记符号也要一并删除,最后别忘记保存。

Push 至远程仓库

回到 Git Bash,依次输入如下命令来提交更改后的文件,并将本地仓库全部推送到远程仓库。其中 xxx 是对于此次提交修改的说明,依据情况填写即可。

1
2
3
git add path/to/file.txt
git commit -m "xxx"
git push

最后在 Github 仓库页面便可以检查到这次通过 Git Bash 的修改,同时 Fetch upstream 菜单中应该会提示 No new commits to fetch. Enjoy your day! 代表同步复刻已经全部完成。