第一次使用 Git 远程工作

第一次使用 git 远程工作

介绍

本周,我加深了对 git 的理解,特别是使用 git 遥控器。作为先决条件,在处理远程时熟悉 git 合并至关重要。上周,我分享了我第一次使用 git merge 的经验并讨论了一些最佳实践。本周,我在开发新功能时应用了这些知识,不是在我自己的存储库中,而是在合作者的存储库(我朋友 mayank 的)中。同时,他还在我的存储库中开发了一项功能,使我们能够使用 git 练习远程协作。

新功能:支持toml配置

目前,我在过去几周开发的工具使用温度和模型等选项的默认值集,当用户不提供特定参数时应用这些值。此新功能的目标是通过添加对从用户主目录中的 toml 文件读取配置设置的支持来扩展该工具的功能。

例如,如果用户在 c:useranhconfig.toml 处有一个配置文件,该工具现在将检查用户主目录中是否存在 .toml 文件。如果存在此类文件,该工具将读取该文件并应用其值来设置默认配置,从而覆盖内置默认值。但是,用户仍然可以提供命令行参数,该参数将优先于 toml 文件值。

执行

为了实现此功能,我使用了 toml 包来解析 toml 配置文件的内容:

import * as toml from 'toml';

由于该工具将在用户的主目录中搜索 .toml 文件,因此我使用 node.js 的内置 os 模块来检索主目录路径:

const os = require("os");const homedir = os.homedir();

从用户的主目录收集所有文件后,我迭代它们以查找以 .toml 结尾的隐藏文件(以点 . 开头的文件)。找到的第一个 .toml 文件被用作该工具的配置源。

笔记

该工具将在主目录中查找隐藏的“点文件”(例如.config.toml),其中包含 toml 格式的默认选项。如果文件丢失,该工具将忽略此文件并继续使用 config.js 文件中的默认设置。如果文件存在但不是有效的 toml,该工具将退出并显示相应的错误消息。如果 toml 文件存在并且没有命令行参数覆盖其值,则将使用 toml 文件中的设置(例如默认模型)。该工具将忽略 toml 文件中任何无法识别的选项,以确保向后兼容性。

远程协作流程

如前所述,本周涉及练习 git 远程工作流程以及 git 与 mayank 合并。为了开发他的存储库中的功能,我按照以下步骤操作:

分叉和克隆:我分叉了他的存储库并将其克隆到我的本地计算机。创建分支:我在本地副本中创建了一个新分支并开始开发新功能。提交并推送:进行更改后,我将它们提交到分支并将分支推送到我的分叉存储库。

 git push origin 

一旦 mayank 将他的更改推送到新分支并请求拉取请求 (pr),我想在合并之前测试他的代码。这就是 git remote 变得至关重要的地方:

添加远程:我将他的存储库作为远程添加到我的本地计算机:

  git remote add  

获取提交:我从他的存储库中获取了最新的提交和分支:

git fetch 

跟踪分支:我创建了一个跟踪分支来跟踪他的更新,而不会直接影响我的存储库:

git checkout -b  /

错误识别和解决

在测试过程中,我在 mayank 分支中发现了两个关键问题:

目录配置错误:该工具错误地从项目根目录而不是用户的主目录读取 toml 文件。路径解析:代码使用相对文件路径,当我在我的机器上运行它时会导致错误。我建议切换到绝对路径

// Resolve the path to the configuration fileconst configPath = path.resolve(__dirname, "../.toml");// Load configuration from config.tomlconst config = loadConfig(configPath);

发现这些问题后,我通过 slack 与 mayank 进行讨论并合作寻找解决方案。我还直接就他的拉取请求提供了反馈。这个过程让我感觉自己正在为一个现实世界的协作项目做出贡献。一旦我对修复感到满意,我将他的分支合并到主分支并将其推送到我的远程存储库。

结论

使用 git 远程和合并的过程非常具有教育意义。我现在对在共享代码库上进行协作更有信心了。以前,我经常会因不同开发人员的多次提交和贡献而感到不知所措,但现在我对 git 工作流程有了更好的控制和理解。

通过研究此功能并集成 git 遥控器,我获得了实践经验,这对于未来的项目来说非常宝贵。

以上就是第一次使用 Git 远程工作的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1492025.html

赞 (0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
补充您的税务工作流程的工具
上一篇 2025年12月19日 14:28:10
使用 useState 时最常见的分配
下一篇 2025年12月19日 14:28:19

相关推荐

  • 如何使用Java开发RPA?自动化流程机器人

    如何使用Java开发RPA?自动化流程机器人如何使用Java开发RPA?自动化流程机器人如何使用Java开发RPA?自动化流程机器人如何使用Java开发RPA?自动化流程机器人

    java能用来开发rpa,而且是个相当靠谱的选择。它跨平台、稳定,还有庞大的社区支持,能帮你构建强大且灵活的自动化流程。解决方案:使用java开发rpa,需要关注以下几个核心方面:1.选择合适的框架和库,如selenium用于web浏览器操作,sikulix用于桌面应用自动化,apache poi用…

    2026年10月7日 • 用户投稿
    000
  • 如何在composer脚本中获取当前项目的根目录

    如何在composer脚本中获取当前项目的根目录如何在composer脚本中获取当前项目的根目录如何在composer脚本中获取当前项目的根目录如何在composer脚本中获取当前项目的根目录

    最推荐通过事件对象获取项目根目录:利用 Event 对象的 $event->getComposer() 获取实例,结合 vendor-dir 配置反推根路径,如 $composer->getConfig()->get(‘vendor-dir’) . &#82…

    2026年10月6日 • 用户投稿
    000
  • Composer在Mac上通过Homebrew如何安装?

    Composer在Mac上通过Homebrew如何安装?Composer在Mac上通过Homebrew如何安装?Composer在Mac上通过Homebrew如何安装?Composer在Mac上通过Homebrew如何安装?

    确认Homebrew已安装,若未安装需先执行官方命令;2. 使用brew install php安装PHP并验证版本;3. 运行brew install composer安装工具;4. 执行composer –version确认安装成功,Homebrew自动处理依赖与路径配置。 在Mac…

    2026年10月6日 • 用户投稿
    300
  • Java中实现数字敏感的自然排序

    Java中实现数字敏感的自然排序Java中实现数字敏感的自然排序Java中实现数字敏感的自然排序Java中实现数字敏感的自然排序

    本文探讨了Java中字符串(特别是包含数字的字符串,如文件名或版本号)默认排序行为的局限性,即“Test11”会排在“Test2”之前。针对Java标准库Collator缺乏内置数字敏感排序选项的问题,文章介绍了如何利用第三方库alphanumeric-comparator实现人类友好的自然排序,并…

    2026年10月6日 • 用户投稿
    000
  • Java中实现自然数字字符串排序的解决方案

    Java中实现自然数字字符串排序的解决方案Java中实现自然数字字符串排序的解决方案Java中实现自然数字字符串排序的解决方案Java中实现自然数字字符串排序的解决方案

    本文探讨了Java中字符串自然数字排序的问题,即如何实现“Test1.txt”在“Test11.txt”之前的人性化排序,而非默认的字典序。尽管Java标准库的String::compareTo和Collator::compare无法直接满足此需求,但通过引入第三方库alphanumeric-com…

    2026年10月6日 • 用户投稿
    100
  • Vid2World— 清华联合重庆大学推出视频模型转为世界模型的框架

    Vid2World— 清华联合重庆大学推出视频模型转为世界模型的框架Vid2World— 清华联合重庆大学推出视频模型转为世界模型的框架Vid2World— 清华联合重庆大学推出视频模型转为世界模型的框架Vid2World— 清华联合重庆大学推出视频模型转为世界模型的框架

    vid2world 是由清华大学携手重庆大学共同研发的一项创新框架,其核心在于能够将全序列、非因果的被动视频扩散模型(vdm)转化为自回归、交互式且动作条件化的世界模型。该模型依托视频扩散因果化以及因果动作引导两大关键技术,有效弥补了传统vdm在因果生成及动作条件化上的缺陷。在机器人操控和游戏仿真等…

    2026年10月6日 • 用户投稿
    100
  • Java中实现人类可读的数字敏感排序:结合Collator与第三方库

    Java中实现人类可读的数字敏感排序:结合Collator与第三方库Java中实现人类可读的数字敏感排序:结合Collator与第三方库Java中实现人类可读的数字敏感排序:结合Collator与第三方库Java中实现人类可读的数字敏感排序:结合Collator与第三方库

    本文探讨了Java中字符串排序的常见问题,即默认排序方式无法对包含数字的字符串进行“自然”排序。例如,“Test11.txt”会被排在“Test2.txt”之前。文章介绍了如何利用第三方库alphanumeric-comparator来解决这一问题,实现人类更易读的数字敏感排序,并讨论了其与Java…

    2026年10月6日 • 用户投稿
    100
  • Java加密算法库BouncyCastle使用教程

    Java加密算法库BouncyCastle使用教程Java加密算法库BouncyCastle使用教程Java加密算法库BouncyCastle使用教程Java加密算法库BouncyCastle使用教程

    bouncycastle是java平台中用于扩展加密能力的第三方库,当jdk自带的jce无法满足高级、小众或特定国际标准的加密需求时,它成为首选解决方案。其核心使用步骤为:1. 在项目中引入bouncycastle依赖,如maven配置bcprov-jdk18on和bcpkix-jdk18on;2.…

    2026年10月6日 • 用户投稿
    200
  • Composer如何与版本控制系统(如Git)的分支策略结合使用?

    Composer如何与版本控制系统(如Git)的分支策略结合使用?Composer如何与版本控制系统(如Git)的分支策略结合使用?Composer如何与版本控制系统(如Git)的分支策略结合使用?Composer如何与版本控制系统(如Git)的分支策略结合使用?

    必须提交composer.lock以确保依赖一致;特性分支中谨慎更新依赖并同步提交json与lock文件;合并时处理冲突后重生成lock文件;CI中验证依赖匹配,保障部署可靠性。 Composer 本身是 PHP 的依赖管理工具,它通过 composer.json 和 composer.lock 文…

    2026年10月6日 • 用户投稿
    100
  • composer如何安装一个Git仓库的特定commit

    composer如何安装一个Git仓库的特定commitcomposer如何安装一个Git仓库的特定commitcomposer如何安装一个Git仓库的特定commitcomposer如何安装一个Git仓库的特定commit

    答案:通过在composer.json中添加VCS仓库并使用”dev-分支#commit哈希”格式锁定版本,可安装指定commit。具体步骤为:1. 在repositories中声明Git仓库;2. require中用dev-master#abc123…形式指定c…

    2026年10月6日 • 用户投稿
    100
  • composer如何设置超时时间(COMPOSER_PROCESS_TIMEOUT)

    composer如何设置超时时间(COMPOSER_PROCESS_TIMEOUT)composer如何设置超时时间(COMPOSER_PROCESS_TIMEOUT)composer如何设置超时时间(COMPOSER_PROCESS_TIMEOUT)composer如何设置超时时间(COMPOSER_PROCESS_TIMEOUT)

    COMPOSER_PROCESS_TIMEOUT是控制Composer执行外部命令时最大等待秒数的环境变量,默认Windows为60秒,其他系统为300秒;可通过临时设置、全局配置或脚本封装调整该值,建议在网络慢、克隆大型仓库或CI/CD中资源受限时调大超时时间以避免安装失败。 Composer 在…

    2026年10月6日 • 用户投稿
    100
  • Direct3D-S2— 南大联合复旦等高校推出的高分辨率3D生成框架

    Direct3D-S2— 南大联合复旦等高校推出的高分辨率3D生成框架Direct3D-S2— 南大联合复旦等高校推出的高分辨率3D生成框架Direct3D-S2— 南大联合复旦等高校推出的高分辨率3D生成框架Direct3D-S2— 南大联合复旦等高校推出的高分辨率3D生成框架

    Direct3D-S2是什么 direct3d-s2 是由南京大学、dreamtech、复旦大学以及牛津大学的研究团队联合推出的一种高精度三维生成框架,它以稀疏体积表示为基础,并引入了创新性的空间稀疏注意力(ssa)机制,大幅提升了扩散变换器(dit)的运算效能,同时有效削减了训练开销。该框架集成了…

    2026年10月6日 • 用户投稿
    200
  • composer的auth.json文件应该放在哪里才安全

    composer的auth.json文件应该放在哪里才安全composer的auth.json文件应该放在哪里才安全composer的auth.json文件应该放在哪里才安全composer的auth.json文件应该放在哪里才安全

    auth.json 应放在 Composer 全局配置目录以确保安全,避免凭据泄露。具体路径为 Linux/macOS 的 /home/用户名/.config/composer/auth.json 或 Windows 的 C:Users用户名AppDataRoamingComposerauth.js…

    2026年10月6日 • 用户投稿
    200
  • VS Code崩溃分析:错误报告与日志调试

    首先查看开发者工具中的Console错误,再分析main.log和exthost*.log日志文件,结合–verbose启动参数复现问题,定位插件冲突或系统异常,最后通过帮助→报告问题提交官方。 VS Code 崩溃问题虽然不常发生,但一旦出现会严重影响开发效率。直接重启可能暂时解决问题…

    2026年10月6日
    100
  • composer suggests命令是做什么的

    composer suggests命令是做什么的composer suggests命令是做什么的composer suggests命令是做什么的composer suggests命令是做什么的

    suggests是composer.json中用于推荐可选依赖的字段,提示开发者安装能增强功能的包,如monolog/monolog用于日志、symfony/console用于命令行开发,执行composer require或composer show时会显示建议,但不会自动安装,仅作提示用途。 c…

    2026年10月6日 • 用户投稿
    200
  • composer为什么建议将vendor目录加入.gitignore

    composer为什么建议将vendor目录加入.gitignorecomposer为什么建议将vendor目录加入.gitignorecomposer为什么建议将vendor目录加入.gitignorecomposer为什么建议将vendor目录加入.gitignore

    Composer建议将vendor目录加入.gitignore,因vendor含第三方库,提交会增大仓库、引发冲突且干扰开发记录;通过composer.json和composer.lock可精确还原依赖,确保各环境一致性;运行composer install即可安装指定版本,提升协作与部署效率;仅在…

    2026年10月6日 • 用户投稿
    100
  • .NET Core 3.0 中的新变化

    .NET Core 3.0 中的新变化.NET Core 3.0 中的新变化.NET Core 3.0 中的新变化.NET Core 3.0 中的新变化

    .net core 3.0 标志着 .net core 平台的一个重要新版本。本文回顾了 .net core 的发展历程,并展示了它如何从最初仅支持 web 和数据工作负载的版本 1,发展到能够支持 web、桌面、机器学习、容器、物联网等的版本 3.0。 .NET Core 1.NET Core 的…

    2026年10月6日 • 用户投稿
    100
  • 漫蛙manwa网页版打不开?最新可用入口汇总

    漫蛙manwa网页版打不开?最新可用入口汇总漫蛙manwa网页版打不开?最新可用入口汇总漫蛙manwa网页版打不开?最新可用入口汇总漫蛙manwa网页版打不开?最新可用入口汇总

    漫蛙网页打不开多因域名屏蔽,可尝试更换入口或调整网络设置。主用入口为https://manwa.cc,备用地址包括https://manwa.vip、https://manwa.site和https://manwa.fun(非大陆推荐);若无法访问,建议清除浏览器缓存、更换DNS至8.8.8.8或1…

    2026年10月6日 • 用户投稿
    500
  • OpenBMB 发布并开源 MiniCPM 4.1-8B

    OpenBMB 发布并开源 MiniCPM 4.1-8BOpenBMB 发布并开源 MiniCPM 4.1-8BOpenBMB 发布并开源 MiniCPM 4.1-8BOpenBMB 发布并开源 MiniCPM 4.1-8B

    OpenBMB 正式发布并开源 MiniCPM4.1-8B,这是业界首个开源的混合推理大语言模型。该模型通过多项系统性创新,实现了在端侧设备上的极致高效运行,并支持深度推理与常规模式之间的一键自由切换。 该模型在 8B 参数量级下,从模型架构、训练数据、训练算法到推理系统四大层面进行深度优化,全面提…

    2026年10月6日 • 用户投稿
    100
  • win11任务管理器新功能详解_新版任务管理器使用指南

    win11任务管理器新功能详解_新版任务管理器使用指南win11任务管理器新功能详解_新版任务管理器使用指南win11任务管理器新功能详解_新版任务管理器使用指南win11任务管理器新功能详解_新版任务管理器使用指南

    首先启用SSD类型显示需更新系统并使用ViveTool工具执行命令后重启;接着可通过右键进程开启效能模式以节能;还可通过多种快捷方式如Ctrl+Shift+Esc快速打开任务管理器;新版界面采用卡片布局和统一指标提升监控效率。 如果您想深入了解或使用Windows 11中任务管理器的最新功能,可能会…

    2026年10月6日 • 用户投稿
    200

发表回复

登录后才能评论
关注微信