粉丝1.4万获赞5.1万

那这个场景在工作当中也是很常见的,我们项目中有些文件是不希望大家修改和提交的,就拿我这个例子来说,这个靠下边的文件我就不希望大家提交,所以这里呢我们做一个友好提示,那我现在这个仓库的状态是这个靠下面有两个文件进行的提交,来看一下来,我们现在先执行一下提交 提示,禁止了,我这在提交之前对这个文件进行一个检测,当发现是靠的时候就 禁止他提交。并且呢我们这里给一个友好的提示,你使用这条语句就可以把这个文件从暂存去撤掉。咱们再来看一下仓库的状态,对吧?没有被提交成功。好,我们来看代码,首先呢这个钩子我们使用的是 get 的 princome, 整个程序的核心 就是在于你怎么去读取暂存区的文件,我们使用到的是这样的一个指令,我们先来看一下这个指令在命令行里是什么样的一个效, 这就是我们在暂存区里边所有的文件列表,那我们把它拿出来之后,我们要对他进首先进行一个切割,切割成一个一个的文件,然后呢我们只需要教验一下这个文件是不是我们要排除的, 那我这里做了一个方法,然后呢匹配一下这个的前缀,如果是靠下边的文件, 那不好意思就不允许提交,然后我们把它筛查出来之后,我们再检查一下是否有禁止提交的文件,如果有的话,我们直接来输出一下, 告诉开发者这个文件你不能提交,那这里我们作为工程人员,你还要尽可能的去做一些友好性的操作, 比如说我们提示这个开发者,你通过这样的一个指令就可以把它撤销掉。那这里我们抛出一个异常,那这个钩子就会是一个错误的中指,他就不会进行后续的提交操作,这个代码也已经上传了,大家自行取用。

十小时 github 狂揽三万星, openai 押注七十万开发者在用的 ai 终端工具 work 一 夜之间开源了。他想做的本质上是把终端从一个黑矿命令行升级成 agent 时代的开发中书。过去开发者写代码要在终端 ida 文档 get 工具之间反复横跳,而现在, work 直接把这一切打包进一个终端里,内置了 ai 编程助手,也支持接入各种外部 agent, 还把整个交互逻辑都重够了。 i d e 级别的输入框 快捷导航,垂直标签页内置文件数和编辑器,甚至还能做交互式代码审查。简单说,它不是在优化 terminal, 而是在重新定义开发者如何和 ai 一 起工作。最关键的是,这次选择开源,直接打消了开发者最担心的安全和可控问题,而且底层还是 rust。

作为一名牵手式软件工程师,我想聊聊版本管理这事。说实话,入职前我完全没有代码管理的概念,自己写代码 就是本地,改来改去,经常搞混版本。工作之后才发现,版本管理简直是必修课,它不仅能帮你规范储存代码,控制权限,更重要的是当出现问题的时候,可以快速回收到任意历史版本,精准定位问题。 现在绝大多数公司使用的代码管理工具就是 git, 结合我工作中实际的使用,今天和大家分享几个常用的操作。首先是拉取代码,直接使用 git clone, 加上仓库地址,就能把远程代码复制到本地。 如果想拉取指定分支,加上杠 b 参数,再指定分支名就行。拉下来之后怎么看提交历史呢?用 git log 就 能看到所有的提交记录,如果只想看最近几条,可以加上杠 n 参数,比如说 git log, 杠 n 只看最近五条, 那么自己改完代码怎么提交呢? git 有 一个本地仓库的概念,所以提交分为三步,第一步, git id 文件名,把修改的文件 添加到赞惩区。第二步, get commit 杠 m 提交说明,将赞惩区的内容提交到本地仓库。第三步, get push 推送到远程仓库。推送之后,通常还需要在网页端,比如说 get lab 或 get hub 发起合并请求,把你的代码和物组分枝。 除了这些, git 还有很多实用操作,比如 git init 可以 在本地注册一个账户, git stash 可以 临时保存当前修改而不提交。以上就是我平常最常用的一些 git 操作,你在工作中用的最多的 git 命令是什么?欢迎在评论区留言讨论。

大家好,欢迎来到新一期的数字公房, 本期为大家带来的软件是 git, 这是一款非常好用的版本管理工具。首先我们打开浏览器搜索 git, 进入官网,点击左侧 install, 选择我们电脑合适的版本下载。下载完成后我们双击安装包等待安装。 安装好后,我们先配置远程仓库,这里我们可以在浏览器搜索字体,这是一款国产的远程代码托管平台,我们先注册字体账户, 注册成功后登录进入主界面,在这个界面我们点击右上角头像,点击用户设置,点击左测试公要。到这一步,我们可以点击怎样生成公要选项,进入官方教程页面, 根据提示一步步操作即可,出现这样的提示就证明我们在本地成功生成了公要。接下来我们把输出的公要粘贴到肢体的添加公要界面, 输入密码后即可添加成功。本期对 get 操作先讲这些,下期我们将对 get 的 常用命令进行详细讲解, 感谢大家观看,我们下期见。

open klo 作者这两天又折腾出一个新玩意儿 git 哈,反狂喜,分为编程不新鲜了,现在是分为开发者效率拉满时代。这个叫 repo 二的新神器,本质上就是 git 工作流的外挂大脑。你只需要挂在 macos 顶部,它就能自动同步你关注的所有仓库, 把 pr 压力艺术数量, ci 状态 release 更新本地代码分支甚至 api 限额健康度全部塞进一个菜单。 你不需要反复打开几十个标签页,也不用命令行一个个查状态,更不用在 i, d, e 和网页之间来回横跳。你只需要像看天气一样扫一眼菜单栏审核状态,然后该写代码写代码,该摸鱼摸鱼,它直接帮你把 get 部工作流压缩成一个高密度指挥中心。

anthropic 刚刚在 cloud code 中发布了 git 工作区功能,这项功能在之前仅仅只能在 cloud 桌面应用中提供,我们也在其他一些应用中见过,比如 conductor, 但现在我们可以直接在命令行界面中访问它了。所以在本视频中,我将会介绍什么是 git 工作区,你可以如何利用它们,以及如何在紫黛里等场景中使用。它们 还会讲到一些有趣甚至是新颖的用法,说明你如何在 cloud code 中利用这些功能。首先,什么是 get 工作区?如果你还不熟悉,简单来说, get 工作区允许你在不同的目录下同时剪出同一个仓库的多个分支。这样做的好处是,每个工作区都有自己的工作数, 但他们共享同一个 git 数据。这种方式在很多场景下都非常有用,但现在越来越多的人是在像 cloud code 这样的自主编码代理中利用这一点。这样一来,如果你想对同一个仓库进行多次编辑,现在通过 cloud 的 工作区功能就可以轻松实现。但首先要做的事情是, 为了开始操作,你必须确保你所在的目录已经初始化了 git。 除此之外,我们还需要确保至少有一次提交,这样功能才能正常使用。所以我现在要执行 git add, 然后我们就要提交这次更改, 比如我会输入 hello world 作为提交信息。现在我们已经完成了这些操作,我要打开另一个 code code 终端,依然在同一个目录下。然后我会再次运行 codework 红样 d。 这里面只有一个简单的空 html 文件。 现在为了演示这个过程,我会说在我的 html 文件里显示 hello world, 并设置黑色背景。我会把这个指令发送到一个绘画里。在在我的另一个绘画中,我会说 让我的 html 文件显示 hello world, 并设置紫色背景。现在我们有了两个不同的文件,接下来我会把它们在浏览器中打开。首先,如果回到 finder, 在 这个 cloud 文件夹,你会看到我们有很多其他的文件, 所以我们为每一个数都有各自的 get 文件。每一个里面我们还有一个 cloud 文件,并且每一个都有一个独特的路径,所以你会注意到 每个路径里都有 clever munching toast, 另一个是 spicy napping order。 现在你还可以通过子代理动态地利用 work tree, 这是另一种方式。如果你还不熟悉子代理,实际上它们就是不同的 cloud code 的 生成。 它们的作用在于,当你想要分担或并行处理不同任务时,会很有帮助。在这里我要说生成五个不同的子代理。我想创建五个不同版本的 html 文件, 我希望它们都是有创意的 size 登录页面。我们还要为所有这些操作利用 gitworktree 的 隔离功能。然后,当我把这个指令发出去后, 你会看到所有不同的代理会在这里并行生成。我们有萨斯登录页面的第一个,第二个,第三个遍体,以此类推。这个仕途的好处是,你可以看到所有子代理并行工作时的各种高层指标。我发现利用子代理特别有帮助的一个方面就是,当你想把所有这些上下文从主线程中卸载出来时, 有很多不同的用力都很适合这样做,但你还可以对这些子代理进行手动配置,比如说类似于技能这样的功能。你可以创建子代理文件。另外,你还可以指定每个子代理是否要与 gitwork tree 一 起使用。 如果你愿意的话,在这个功能中你可以做很多有趣的事情。我还想特别指出的一点是,你可以在 cloud 桌面应用中使用这个功能。这个功能已经上线好几个星期了,你可以像以前一样利用它,只需为 worktrees 添加标志即可。 你也可以像我现在演示的这样,动态地域子代理一起使用它。此外,当你在创建代理时,也可以在前置内容中利用这个功能。 cloud 文件中,这在很多不同的场景下都非常有用,比如测试、 迁移,甚至是探索各种潜在路径的创新用法。你还可以用另一种方式来利用这个功能,比如说你正在尝试首页上的不同文案版本之类的。你可以直接创建多个不同的 work tree, 来展示各种不同想法的多个版本。 这样做的好处是,你不需要额外花费精力,你也不用担心会有冲突。在这里,你可以看到这五个 size 登录页的不同版本。在这里,这是我们的第一个版本。如果我切换到下一个, 你会发现这些首页在方向上有五种非常不同的风格。无论是不同的方向还是第一个实现版本,都让人印象深刻。 仅仅用一两句话,大型语言模型就能为你生成如此丰富的内容,实在令人惊叹。说实话,这些都是非常令人印象深刻的起点,都是它为我们生成的。我在最初的提示词上只花了大约十到二十秒。你可能有一个项目的想法, 而这个想法可能会有不同的分支路径,就像现在写代码实际上变得非常非常便宜。如果你有一个重新架构某些东西的想法,实际上你可以让它生成多个不同的子代理, 然后观察这些不同的方向,以及它们是如何逐步展开的。你可能并不一定知道你最终要达到的状态是什么,但这让你能够为你正在做的事情开启不同的潜在路径,更不用说还有许多其他用力可以利用工作树来实现。 好的,接下来你还可以在子代理中利用这一点。在 cloud code 中很棒的一点是,你实际上可以直接用自然语言来创建它们。我可以说我想创建一个前端开发者子代理, 我希望模型是嗨哭,并且希望他能够利用工作树隔离。我现在就来操作一下,把这个请求发出去。如果你熟悉类似技能这样的概念,子代理的工作方式其实非常相似。在文件的顶部会有一个叫做前置信息的部分,我们会在这里写上名称,模型 以及与子代理相关的所有不同元数据。然后在正文部分,我们会写明这个子代理实际要执行的所有不同指令。 plot code 的 一个优点是,当你让他利用自身上下文中的某些内容时,在这里我们可以看到他实际上会去查找相关文档,提取关于子代理的信息,然后继续操作创建那个文件。那么关于这些文件实际存放在哪里?也就是在你的在 cloud 中,你可以将这些设置为大局可用, 这样它们就能在你所有不同的项目中访问,或者你也可以将它们限定在某个项目范围内。在这里它创建了一个 cloud agents 文件夹,在这个文件夹里有它为我们创建的这个文件。 如果我们快速看一下,这就是我之前提到的前置信息。我们有名称,还有对它是什么的描述,这就是我们告知模型何时实际调用它的方式,我们会指定想要使用的模型。 然后在前置信息中,这里有个新内容,就是 isolation worktree, 所以 这会确保每次我们启动这个特定的代理时,他都会像我刚才演示的那样使用 worktree。 另外在这里顺便提一下,你可以指定不同的工具,比如说如果你有不同的 mcp 工具 想要利用他们,你可以直接将所有希望子代理使用的不同工具加入白名单。好的,这个视频基本上就到这里了,感谢 anthropic 团队又一次带来了出色的发布。如果你觉得这个视频有用,请点赞、评论、分享并订阅,那么我们下期再见。

什么是 get? 做开发的同学肯定都有过这样的崩溃时刻,项目文件夹里全是最终版,最终版 v 二,真的最终版越改越乱,不知道哪个是最新的,改错代码回不去,多人写作还总互相覆盖文件。 而解决这些所有问题的神器就是 get。 在 说 get 之前,先搞懂一个基础概念,版本控制。 简单说,版本控制就是代码的时光机能自动记录你每次的修改,随时可以回退到过去的任意版本,清楚看到谁在什么时候改了什么,多人协助也不会冲突,还能同时开发多个功能,最后合并到一起,就像给代码做了一个个存档点。 版本控制系统发展到现在有三代,第一代是本地版本控制,只能自己用,没法多人协助。 第二代是集中式的,比如 svn, 需要连中央服务器断网就没法工作。而现在最主流的是第三代分布式版本控制, git 就是 其中的佼佼者。 git 是 linux 创始人在二零零五年创建的,最初是为了管理 linux 内核开发,现在已经成了全球最流行的分布式版本控制系统。 他的核心优势特别突出,每个人的电脑都有完整的版本历史不依赖中央服务器,断网也能查看历史,提交代码速度快,大部分操作在本地就能完成。 分支功能强大,创建和切换分支只要几秒钟,还能用哈希算法保证数据安全,篡改会被立即发现。 掌握 get 的 关键是搞懂它的三种状态,记好这三步就够了。第一步,工作区就是你电脑上能看到的项目文件夹,你正在编辑修改的文件都在工作区里,还没提交到 get。 第二步,暂存区 相当于一个临时中转站,你把要提交的文件标记好,先放到这里,方便选择性提交。比如改了十个文件,只想提交五个,就先把这五个加到暂存区。第三步,仓库 就是永久保存版本记录的地方,提交到仓库的内容会被安全存储,随时能查看回退。 它们的转换流程也很简单,编辑文件工作区,用 git add 命令交到暂存区,用 git commit 命令提交到仓库,这样一次修改就被永久记录下来了。可能有人问为什么要多一个暂存区, 其实就是为了让每次提交的逻辑更清晰,避免把无关的修改混在一起。每个 git 项目跟目录都会有一个隐藏的 git 文件夹,这就是 git 的 仓库核心, 里面存储着所有文件、快照、分支信息和配置,千万不要手动修改,不然可能导致仓库损坏。想删除仓库,直接删掉这个文件夹就好。 再给大家说一下 git 的 基本工作流程,日常开发用这几步就够了。第一步,用 git init 出使化仓库,把普通项目变成 git 仓库。第二步,用 git at 把文件夹到暂存区。 第三步,用 git commit m 加上备注提交到仓库。平时用 git status 查看状态,用 git log 查看提交历史。如果是多人合作,就用 git clone 克隆远程仓库 git pull 拉取最新代码 git push 推送自己的修改。 get 的 用途特别广,不管是个人开发还是团队协助,都离不开它。个人开发时,它能记录你的每一次修改,改错了能回退,尝试新功能,失败了也能轻松撤销。 团队协助时,多人可以同时开发,不会互相覆盖代码,还能清晰看到每个人的贡献,规范代码审查。参与开源项目时,还能通过 get 提交 bug 修复和新功能和全球开发者一起协助。 可能有人会问, get 和 svn 手动备份比好在哪里? get 是 分布式, svn 是 集中式,断网就废。 get 速度快,分支灵活,手动备份不仅慢,还没有版本记录,数据也没保障。 现在 get 已经是行业标准,不管是大厂还是小公司都在使用,虽然学习曲线有点陡,但学会了能大幅提升开发效率,非常值得投入时间。 总结一下, get 就是 一款分布式版本控制系统,核心作用是管理代码版本,解决多人写作冲突。它就像代码的时光机加写作神器,掌握它的三种状态和基本命令,就能轻松搞定个人开发和团队写作,是程序员必备的基本功。


大家好,下面给大家介绍一下华为云 collars ripple 代码托管服务。首先登录华为云的官方网站, 找到代码托管服务 quartz rapper, 进入到 quotharch rapper 页面。 quotarch rapper 是华为基于全站自研的一个代码托管服务,基于 get 提供分布式代码管理和协同开发能力,包括成员管理、 权限控制、代码托管、代码检查、代码审核、代码追溯、持续集成等能力,助力不同规模企业的研发质量和效率提升。华为云克拉 s repo 代码托管服务有四大优势,首先是全站智研独有的分配、加密存储、 ip 白名单以及细腻度的权限控制,能让你的代码仓更加的安全无忧。第二,高校协同开发,内置华为多年变革实践成果,覆盖云管端等各类开发场景,支持不同规模团队的高校协同开发。 三、支持基于分支和成员角色的代码上库、作业流管控,配合自动化检查以及人工审核,能提供多重的代码质量防护。 第四,支持以代码为中心的研发资产追溯,让你了解每一行代码的来龙去脉。

get to get up 版本控制与协作开发的全面指南 get 作为开源的分布式版本控制系统,以其高效、灵活和强大的功能深受软件开发者喜爱。它不仅能够追踪每一次代码更改,还提供了对项目分支的强大支持, 使得团队成员可以在独立的工作线上进行开发,有效避免了大规模修改时可能引发的问题。本文将深入探讨 get 的核心概念,如初始化仓库、提交拉取请求、标签管理等,并通过实力解析使你轻松掌握 get 的使用。 首先,我们将从 get 的基本操作开始,如创建新仓库、添加文件到暂存区提交更改并生成哈西标识。理解这些基本步骤 是进行任何 get 工作流程的基础。然后,我们会讲解 get 的分支管理,如何创建切换和合并分支,以及如何使用 get up。 作为 get 的重要托管平台,为开发者提供了云端协作的便利。你将学习如何将本地仓库推送到 get up, 以及如何创建查看和管理远程仓库。 在这里,我们还将讨论如何创建拉取请求,这是一种高效的代码审查方式,有助于团队成员之间的交流和知识共享。此外,文章还将涉及 get up 的协作特性,如实时聊天、项目里程碑管理、问题跟踪等功能, 帮助你更好的组织和管理团队工作。对于大型项目,我们还会分享一些高级技巧, 如持续集成、持续部署、 ci cd 的配置,以及如何利用 get up pages 快速发布静态网站。无论是初级开发者还是经验丰富的技术专家, 本文都将为你提供一个全面的 get to get up 学习路径,无论你是独立开发者,还是希望提升团队协作效率,都能从中获益匪浅。让我们一起探索 get 的世界,提升代码管理和团队协作的技能吧!

二零零五年,一个芬兰的天才因为被一家美国公司掐脖子,暴怒之下花了两周时间,凭一己之力写出了一个工具。这个工具今天仍然被全球超过一亿名程序员每天使用。你现在用的所有的 app, 刷的所有的网页,包括 ai 工具背后的代码,几乎都是用它来管理的。 他叫 kit, 这个芬兰人叫李纳斯托瓦兹,你可能没听过他的名字,但你肯定用过他的作品。他在二十一岁的时候,在赫尔辛基大学的宿舍里随手写了一个操作系统的那盒叫 linux。 今天全球超过百分之七十的服务器,安卓手机底层超算,甚至国际空间站,跑的都是 linux 系统。 可以说这个人随手就改变了世界。那他当年为什么如此愤怒?他愤怒之后造出来的 git 到底是什么?为什么今天连 cloud code 这样前沿的 ai 编程工具 windows 版本装前第一件事就是让你先装 git。 今天咱们一口气把这些都说清楚。在聊 git 之前啊,咱们先搞清楚一件事,程序员在没有 git 之前是怎么工作的。你可以想象这样一个场景,你跟你的同事小王一起修改公司的同一份项目方案, 你们分头改,改完再合并。你改了第三章,小王也改了第三章合并的时候发现完了,改乱了。谁的版本是对的,你们谁也不知道,于是就有了项目方案。最终版,最终版,小王,修改最终版,小王,修改,我又改了 最终版,真的是最终版了,最终版,真的是最终版,别再改了,你笑了,对吧?咱们都经历过的,现在我们把这个场景放大一百倍。 linux 内核是全球几千名程序员一起维护的超级项目, 每天有几百人在里面改代码,你改一行,他改一行,你们的改动之间可能有关联,也可能有冲突。如果没有一个工具来统一管理所有的这些改动,这个项目很快就乱成一锅粥了。那这个时候就需要一个版本控制工具来解决这个问题, 记录每一次改动,谁改的,改了什么,什么时候改的,出了问题,可以回溯,可以对比,可以合并。 get 就是 目前全球最流行的版本控制工具。你可以把 get 想象成一台代码的时间机器。你可能玩过存档的游戏, 在打 boss 之前,你习惯性地存个档,万一打输了,直接读档,从存档点重来,不损失任何进度。 git 干的就是这件事,只不过存的不是游戏进度,而是代码的每一个状态。程序员每完成一小块功能就保存一次。 这个操作叫做 commit, 也就是提交每一次 commit, git 都会记录下来。这就相当于给代码拍了一个快照。以后无论发生什么, 你写了新功能,但发现搞错了。你的同事不小心删掉了重要的代码,或者你的公司说把上周的版本给我还原回来。只要用过 git, 这些都不再是问题, 一个命令就可以让时光倒流。听到这里,你是否也好奇,林纳斯为什么要发明 git 呢?让我们把时间倒回二零零二年。 那个时候, linux 内核团队也在用一个版本控制工具,叫 bitkeeper, 这是一家商业公司的产品,但当时慷慨地给 linux 社区免费用了好几年。到了二零零五年,出事了。 linux 社区有个开发者尝试对 bitkeeper 进行逆向工程,说白了就是想破解它。 bitkeeper 公司发现了之后直接就炸了, 直接宣布停止对 linux 社区的免费授权。林纳斯听到这个消息的时候,估计内心也十分崩溃,他们几千个人每天都依赖这个工具工作,现在你突然说不让用了,普 普通人可能去求人呐,可能去找替代品呐,或者花钱买个授权呐。林纳斯他偏不,他直接撸起袖子自己写了一个,从开始到发布第一个可用版本,只花了十天。这就是 get 诞生的故事。二零零五年四月三号,林纳斯开始写 get。 四月六号, get 已经能管理自己的代码了。 四月七号, git 第一次提交,他用自己管理了自己的开发过程。四月二十九号, linux 内核正式切换到 git 管理。其实说了半天哈, git 只是一个工具,但是真正让它爆发的是二零零八年出现的一个网站 github, 你 可以把它理解为程序员的社交媒体, 他把 get 的 能力搬到了网上,还加了社交的功能。你可以在上面发布你的代码啊,让全世界的人都看到。别人觉得你的项目有问题,可以直接提一数,这就相当于评论区觉得你的代码可以改进,可以直接提 pull request, 缩写叫 pr, 把它的修改建议推给你审阅。这直接引爆了开元文化,全球的程序员开始在 github 上面开放自己的代码,互相学习,互相改进,互相协助。你今天用的很多技术, python 的 各种库啊,安卓啊, vs code 呀,或者 react, 几乎都托管在 github 上面,代码全部公开,全球任何人都可以参与贡献。 github 二零一八年被微软以七十五亿美元收购,这是软件史上最大的并购之一。今天 github 上面托管了超过四亿个代码仓库,活跃用户超过一亿。 你每天用的 app 背后,大概率有 github 上面某个角落里,某个陌生程序员贡献的代码。你可能会想, 我又不是程序员,我让 ai 帮我写代码,为什么我也得装这个东西呢?其实 ai 写代码并不是一次就成的,可能 ai 帮你写了一百行代码,你跑了一下,发现有个地方不对,你让 ai 改 它改完之后,另一个地方又出问题了,改了又改,改到最后哪个版本是对的呢?你自己都不知道了,就乱套了。 get 就是 ai 编程的保险,如果 ai 这次改坏了,没关系, 一个命令就回到上一个存档点,损失为零。所以 git 它相当于现代软件世界里的基础设施,就像是道路和汽车的关系。好的道理讲完了,咱们讲点实际的 git 到底怎么用?举个例子啊, 你开始做一个小项目,比如说做一个自己的个人网站。第一步,告诉 git 这个文件夹我要你管了,你在这个文件夹里打开终端,输入 git in it, 就 这一行时间,机器就开机了。 第二步,你写了一些代码,准备打包。例如你写完了网站的首页,想存一个档,你得告诉他这次我要把哪些改动放进去存档,也就是 get add 点。这个点的意思就是我们这次所有的改动都要存, 就像是收拾行李,你先把所有的东西都扔进箱子里。第三步,正式存档, get commit 横杠 m, 再加个引号, commit 就是 存党的这个动作,后面这个引号里面就是你给这次存党写的备注,以后你再回头看一眼,就知道这次存党干了什么。 这三步就是 get 最核心的工作流,也就是出使划打包行李,正式存党。第四步,把存党上传到云端,就像是游戏存党,可以上传到云端,防止本地数据丢失。 get 也可以把你的存党推到 github 上面, 这样就算你的电脑坏了,代码也不会丢。那有人会问了,现在这么先进,有了 cloud code 的 帮我写代码,还需要自己敲 get 命令吗?其实大多数情况下是不需要的, 程序员日常用的 get 命令其实就屏幕上的这几个。因为有了 ai 你 不用记,混个眼熟就行。 像 cloud code 的 这类 ai 工具,已经把 get 的 常规操作封装进去了,你跟 ai 说帮我保存一下当前进度, 它就自动地执行 add 和 commit, 你 说刚才那个改动有问题,帮我回滚,它就会找到上一个存档点还原。你不用去记命令,也不用记语法,你就理解 get 是 什么,在干什么就行了。 这样你以后再看到一些教程、视频啥的,再提到 get, 咱不就懂了吗?说了这么多,我们再回到开头的那个故事。二零零五年,林纳斯因为版权纠纷被掐脖子,用十天写出了 get。 他当时可能也没想到,这个分奴之下的应急工具,会在二十年后成为全球软件开发的基石,会在二零零八年因为 github 的 出现引爆全球。开元文化 会让非洲的独立开发者和硅谷的工程师在同一个项目上平等写作,会在 ai 时代成为 ai 写代码、管代码不可或缺的地基。这就是 get 一个悄悄支撑起整个数字世界的基础设施。今天的视频就到这里,让我们下期视频再见。拜拜。 mua 拜拜。

这个 token 是 这个时代对开发者最大的红利,就是,对,当然你从另外你也可以换说。哎呀,是不是程序员会消失啊?呃,这个程序员的工作会发生变化,这是这是确定的。我最近还写了一篇文章,大家可以关注啊,我的公众号, 危机事件。同学,你现在的创造力可以是原来的十倍,甚至一百倍。我们我们现在已经看到很多很多这样的现象,然后我们还有一个前资深架构师,现在一个人要说把全世界所有的商业软件都都都重告一遍的,这个,这就是时代赋予你的 红利。我们刚才开了个会,我们请了几个实习生,是吗?这也没有,也不是计算机专业的。哎呦,我看写的程序写的很好,写程序只是一个, 只是一个你的过程,你最终所有的程序是要解决世界的问题。对,你现在要找到问题,问题还有很多很多,就是在 itemkit 上,我们会现在会提供免费的 deepsea 微视的 这个叫 callin plan 的 支持。对对,但是数量有限,数量有限,先到先等,先到先等,大家要体验用好这个产品,我们不是来看新闻的,我们是要拿 token 去最后做生产的。 第二呢,在四 s 店的这个平台上呢,我们现在推了一个新的产品,叫淘 token。 嗯,淘宝时代过去了,要淘 token。 这个淘 token 呢,我们是跟华为云啊,华为这边有一个紧密的合作,就是在深层上 对各种模型的支持,包括今天刚刚发布的第四个微视。那我们欢迎更多的这个,这个我们的朋友们都加入到创造世界,再造世界,都是一个大时代。

gitworktree 你 是不是有点眼熟,但又不知道它是干嘛的?最近 hermes agent 在 开发者圈子里热度很高,有人翻了它的源码,发现里面悄悄用了一个很冷门的 git 功能。 gitworktree 为什么要用这个? 它到底解决了什么问题? hermes agent 是 什么? hermes 是 一个多 agent 协助框架,核心思路是把一个大任务拆成若干子任务,交给不同的 agent 并行处理, 每个 agent 独立思考,独立执行,最后汇总结果。这和普通的单线乘务员助手有本质区别,他要真正的同时干好几件事。 permiss 为什么要用 getworkery? 问题来了,多个 agent 并发执行代码任务时,都需要操作同一个代码仓库。如, 如果共用一个工作目录, agent 也切到 feature a 分 支 agent, 并同时切到 feature b, 两人立刻打架,文件被覆盖,状态混乱,整个任务崩掉。最笨的方案是给每个 agent 扣你一份仓库,但这代价太高,此盘翻倍,网络开销大,还要管理多份。 get 历史。 permi 用的是更聪明的方案, get work tree。 每个 agent 拿到一个独立的工作目录,指向同一个 get, 各自在不同分支上工作,互不干扰,既省空间又不打架。 gitworktree 是 git 原生支持的功能,允许你从同一个仓库同时 check out 出多个工作目录,每个目录对应不同的分支。 gitworktree app 新建一个 worktree, 切到另一个分支 gitworktree list, 查看所有 worktree, gitworktree remove 删除 worktree。 每个 worktree 目录里都是真实的文件,可以独立编辑运行,提交。底层只有一份 git 对 象库,不会重复存储历史记录这个功能出来好几年了,但大多数开发者不知道它 知道 a agent 需要并发操作代码仓库,它才重新被人想起来。下次你需要同时在多个分支上工作,也可以试试。

今日最新 get 破热点!这是 gethop 上最近很火的一款开源项目,给他一段项目代码或者开源仓库地址,他给你一张活的脑图,不仅格式化显示、函数、依赖关系、调用链等,还能继续向 ai 提问你的项目结构和逻辑。完全在浏览器运行的零服务器代码智能引擎。 最酷的是,它采用的是 graveyard 的 设计思路,让 ai 不 再盲目作答,而是真正理解代码的真实关系和架构后,再帮你改 bug。 开发者都值得一看。

大多数个人开发者,我们的代码都放在马云上面,控中小企业的话也放在马云上面,很少去打进自己的仓库。我们创建项目的时候,通常是在登录马云,然后在上面创建仓库,然后再在本地电脑上面 文件夹,然后去关联仓库,然后再去推送代码。如果说你不熟悉的,你会根据 马云上面那个提示,马云上面的提示命令,然后你去执行,有时候可你操作不当,还推送不上去报这样那样的错误。为了解决这个痛点,同时我自己也是为了提高效率,然后我自己写了一个脚本, 比如说我这里建了建了个文件夹,叫 abc, 在 我的电脑上面,然后我就执行一个脚本,就是说我自动,我自自动创建 abc, 就是 以当前文件夹作为那个仓库的名字,自动创建这个仓库, 然后自动推送代码。我们可能说原来可能要搞好几分钟,可能你才把那个代码推上去,那我现在的话,我可能说就是一一件就几秒钟的事就完完成这个事情了。 那它的原理是什么呢?是因为我们平时的话,我们可以说,比如 i d, e, a 啊,提交代码这些,我们可以说是用的用户名密码,或者说是用的它的私,私有的 k, 虽然我们在马云上面可以创建一个 token, 然后创建 token 之后,它 token 可以 配置,也就是这个 token 的 权限啊,然后我们把权限这些配置好,从我们的 s h 脚本里面, s h 脚本里面,然后你就去 用到这个 token 去连接那个马云的仓库,然后它里面有 a p i, 相当于你直接调它的 a p i, 然后就完成了,就自动创建、自动推送 这些流程。如果说我们是 s h 脚本的话,相当于你本地还要装一个什么呀?装个 get 客户端是吗?这样的话它才有 linux 的 环境,然后这样的话我们就 ok 了。