粉丝155获赞1103

大家对 git 想必都不陌生,在日常的开发工作中, pull、 commit、 push 这些操作可以说是非常的常用。然而越是常用的命令,也会越容易在使用过程中出现各种问题,而且有些问题可能就藏在那些看似再熟悉不过的命令之中。第一, get pool 这个命令乍一看它十分省事,敲一下就能完成一系列操作,但实际上它等同于 get fetch 和 get merge 这两个命令的组合。这意味着每次执行 get pool 的 时候, get 有 可能在后台默默地帮你进行一次合并操作,这看似方便,却可能带来一些潜在风险。更稳妥的做法是先使用 get fetch 拉取远程仓库的最新代码, 然后根据实际情况自主决定如何进行合并,这样能让你对代码的合并过程有更精确的掌控。第二, get commit m 这种提交方式。在当下,这样的操作似乎没有任何问题。代码顺利提交,任务看似完成, 可是当几个月的时间过去以后,你可能自己都记不清当时修改了哪些具体内容。正确的操作应该是先执行 get commit 命令,这时会弹出一个编辑器,你可以按照以下规范填写提交信息,第一行清晰地描述你做了什么改动,第二行详细说明你为什么要做这样的改动。 这样规范的提交信息,无论是对未来的自己回顾代码,还是让同事理解你的工作,都能提供极大的便利,使代码的维护和协助更加高效。第三,分支切换的命令 get checkout 如今更推荐使用 get switch 来进行分支切换。相较于 get checkout, get switch 的 语义更加清晰明确。在日常操作中,我们可能会因为疏忽或者手滑而出现误操作。使用 get switch 能有效降低这种风险,让分支切换更加安全可靠。 写代码是软件开发的核心工作,但在实际的项目中,能否与他人长期高效的合作编写代码同样重要。遵循合理的并使用规范,不仅能提升个人的开发效率,还能为团队的写作砥定良好的基础。

很多人都用 g, 但一问 g 和 s d n 到底差在哪?很多人其实说不清一句话,先给结论, s d n 是 中心化管理, g 是 分布式写作。先说 s d n, s d n 的 世界里有一个绝对中心服务器,你要干任何事,拉代码、提交、看历史、回滚,都得先连上服务器,服务器要是挂了,抱歉, 你干不了活。历史也看不了,分支基本等于摆设。再说地理,找兼职,找副业,就上 it, 找活网,整个项目的完整历史已经全在你本地了,断网照样提交,建分支,看记录、回退,等网络好了,再一口气推上去, 这就是本质差异, s d n 服务器是唯一真相。 git 每个人都是一份完整仓库,在看分支体验, s d n 的 分支重慢,成本高,所以大家都不爱用 git 的 分支,轻得像贴标签, 几乎零成本,这才催生了现代写作流程。再看一个现实差异,在 s d n 时代,大家习惯写完一大坨再一起提交。在 d 时代,你可以 小布提交,随时回滚,每一次修改都有记录。最后一句人话总结, s d n 更像公司公用电脑, d 更像每人一台完整电脑。也正因为这样,当团队变大、节奏变快、分支变多的时候, d 几乎是唯一选择。

专门给软件测试人准备的 get 干货,同步测试代码追溯用力变更的必备工具,是我们高效写作的刚需。先简单说下什么是 get, 它是开源的分布式版本控制工具, 对我们测试来说,最实用的就是能同步不同版本代码回溯测试用力对应的代码变更。而且每个电脑都有完整仓库,离线也能工作,不怕关键文件丢失。重点说几个测试常用的核心命令,跟着流程来就行了。 先用 git clone 把远程项目拉到本地,再用 git checkout 杠 b 测试分支名创建专属测试分支,避免改动主分支代码。测试中修改了脚本或用力后用 git add 暂存文件,再用 git commit m 备注测试相关修改提交到本地, 最后 git push 推到远程,方便团队同步推荐配合 getty 使用,国内访问速度快,提前配置好 ssh 公钥,后续操作不用每次输密码了。 按这个流程和规范操作,能够清晰追溯每个版本的测试情况,让团队协助更高效。针对软件测试人的核心用法,这份文档包含了从入门到精通的全流程干货,同时也有对应的视频教程,希望能够帮助你快速掌握 get。

那突然呢,收到一个小伙伴的求救啊,就说自己的 get 提交丢失了,无法无法恢复啊,或者说不知道如何找回自己的提交,那遇到一般遇到这种情况,你会怎么处理呢?那今天呢,我将通过一些实操的一个一些命令啊,来讲解 get 的 rf log 啊。 嗯,教你如何找回你丢失提交的代码啊。那其实不管是 are set, 就是 不管是 reset, rebins 或者说 event 的 操作啊,那只要你本地 提交曾经提交过那个康密的,那 r e f 这个 log 啊,都可以帮他帮你找回来啊。那我们都知道 get 是 有 log 的 啊,你可以认为 get 的 log 其实就是 get 提交的历史,那 r e log 呢,就是它的黑盒子,所以说咱们可以从里面找回咱们一些这个有迹可循的一些东西啊 啊,而 get log 呢,假如说你这个 get reset 刚刚 had, 然后 had 一 啊,那么其实就是最近 一次的提交呢,会在 git log 内消失啊,所以想恢恢复最近一次的提交呢,其实这个 git log 是 无能为力的,因为 log 内是看不到了,但是 if log 是 可以看到的,就说可以找回啊,那下面呢,我们来看一下具体这个命令的实操啊。那假设我们正在开发一个 登录的流程啊,那这里呢,我们创建一个文件夹,比如说叫 make d r 叫 to 这个文件夹, 然后呢,我们进入到这个文件夹内啊, cd 就, 然后呢,这里呢,我们先这个进行 get 的 出语化,就是 get n i t 回车,那这里呢,其实我们就把 get 的 这个出语化完成了,那这里呢,我们创建一个文件啊,比如说叫咱们来模拟一下这个登录的操作啊,比如说我们先创建一个文件,叫做 get 一 口啊,然后是 n i t 嗯,写入到 log in, 写入到叫做 log in 点 t x t 那啊,那这里呢?其实我们就创建了一个文件了,然后我们来看一下内容啊 get, 然后这个查询到零点 t s t 啊,回车, ok, 那 其实这里面有,咱们已经有咱们的内容了,那这里呢?我们把它这个添加到咱们的本地操控内啊, get a d d 命令啊,这是很基础的一个命令,然后回车,然后这里呢,咱们进行第一次提交 get commit, 然后杠 m, 然后这里面写上这个 n i t。 说话,咱们的老根回车, ok, 那 这是咱们的第一次提交,那后面呢?假如又变了啊,咱们需要升级一下版本,比如说咱们是这个 v 一 版本啊,假设,那咱们还是 e q, 然后是 v e eve log in, 然后继续写入到咱们的 log in 点 t s t 然后呢,咱们进行这个第二次的提交啊,给还是将它添添加,然后给它看内存,然后呢,这里咱们写上 ve log in, log in, 还是写入到,记住啊,咱们只是做一个模拟啊,主要是为了说清问题,然后回车,这是咱们的第二次提交,那接下来呢,你这个发现这个 bug 啊,你要修复啊,那假如咱们去修复 bug 了,咱们继续来修改这个文件 是 fix log in bug for user this is their name lenns 然后继续到咱们的 log in 点 tessie, 然后回车,然后接下来呢,咱们需要进行咱们第三次的提交啊,还是添加,然后第三次提交 get commit 杠 m, 咱们是 fix bug for log in, 然后回车,那这个呢,就是咱们的三次提交就已经完成了,此时呢,咱们来看一下咱们的 get the log 啊,回车,那此时呢,咱们其实可以看到这个完整三次的提交记录啊,比如说第一次是 i i t, 然后他的卡密特的值,第二次呢是 v e log in, 咱们升级第二版本 是卡密的值,那第三次呢,是咱们修复了一个 bug 啊,这是他的卡密的值。 ok, 这里我们来截一个图吧。嗯,为了后续咱们进行对比啊, 这里呢,我将呢可以放到最前面,然后呢,咱 们来退出啊,按住 q 键啊,就退出了这个 log 的 模式啊, ok, 那 图咱们也截好了,稍后咱们会做这个进行对比啊,然后呢,你发就是登录没有问题啊,就是你一开始咱们不是修复了一个 bug 吗?然后你发现没有问题,这个验证错了,反而出现了 bug, 此时你要恢复 前一次提交,然后你就慌慌慌张进行了这个命令啊,就是 get recite recite, 然后杠杠 hat, 然后呢, hat put 号一。那么这这个命令呢,其实就是会这个恢复到咱们前一次的提交啊,就是第二次提交,也就是 vlog 啊,然后咱们回车啊,哎, ok, 咱们来看一下, ok, 这里打错了啊,这是 had, 然后回车, ok, 那 其实你看他这也也写到了啊, ok, 那 此时呢,咱们就恢复到了第二次提交啊,那咱们来看一下,有文件啊 cat, 然后是 老,嗯,老根天气啊, ok, 咱们看到啊,已经恢复到这个 v 一 这个 log in 啊,那这里呢,其实咱们也看到原文啊,那内容也确实如此啊,然后你就满心欢喜啊,那个的时候代码哎,又发了问题啊,也就是说之前其实那个提交还是 还是可能正确的,此时你想找回最后一次提交代码,然后你就满心欢喜打开了 git log, ok, 这里咱们来看一下啊, 此时这个 git log 啊,看看,这里啊,只剩下 v e log 音, i i t log 音,那之前呢,之前咱们的提交呢,是有三次对吧?一个是 i i t, 一个是 v e, 一个是 fixed bug 啊,就是说这次找不着了,第三次提交记录啊,就这次提交记录, 这次题要记住啊,消失了,那咱们的代码难道就找不回了吗?然后说,还是说你的代码需要重写了吗? 或者说你删了别的代码怎么办?然后呢,此时啊,其实你要看咱们的 r e f log, 这里呢,咱们来看一下,这里咱们按 q 键退出,然后 get r e f log, 然后呢,咱们来看一下回车。哎,看,此时啊,咱们的提交啊,有第一次对吧? i it 第二次 ve, 第三次 fix back, 第五次的操作啊,就是 reset, 咱们在这里所有的操作都可以在 if log 内 找到啊,是不是发现了新大陆,那此时咱们这个丢失就相当于找回了,然后咱们将这个咱们需要恢复的这个 comis 的 id 啊,就它的哈希值啊,咱们给它复制复制一下啊。 ok, 那 这里咱们按 q 键退出啊,啊,清楚一下屏幕啊,注意啊,就是咱们不能够直接恢复到这个这个任何的分支啊,因为咱们还需要继续保留这个事故的现场啊。那这里呢,我们需要创建一个恢复的分支进行恢复啊,咱们可以这样 get branch, 比如叫 recover fix log in 啊, 然后呢,把咱们刚刚这个想要恢复的这个 id 那 个拿过来啊,然后这个回车啊,那此时咱们的代码现在就恢复了,那咱们需要切换到这个刚才咱们监里的这个 recover 的 这个分支啊,咱们来看一下。 ok, 那 咱们来看一下咱们的 log in 点天气啊。 ok, 那 这里面其实刚才咱们一开始输入的那段内容啊,其实就咱们的代码就相当于找回来了啊。 ok, 那 咱们这时候再看一下这个 log 啊,给自己点 log。 ok, 那 咱们其实这次提交也恢复了啊,还是原来的那三次,对吧?这样看起来是不是就很舒服了? ok, 这里咱们继续退出啊,嗯,咱们的这个代码其实已经恢复了啊,所以说这里我还有呢,这里其实我不推荐直接用这个 get 向 recite, 然后杠杠 head, 然后后面跟上咱们的刚才那个那段 id 啊,其实也是可以恢复的啊,嗯, 就当然也可以恢复这个某题啊,但是我还是希望能够保留这个现场的证据啊,有利于我们跟踪问题啊。 ok, 那 后面呢,其实遇到这个类似的问题啊,一定要记得还有这个 if log 可以 恢复啊,所以说不要惊慌啊,还有呢,这个 if log 呢,这个有效期呢,其实是九天啊,所以说 九天之前的就找不到了,所以说事故发生后,发生之后呢,咱们第一时间去看这个 r f log 啊,这个不要进行其他的操作了,最后呢,我会给出,给出,给出,这个就是咱们这个怎么去找回这个 失败的提交的一个步骤啊,首先呢,找,咱们需要这个,找到事故前的这个刊物啊,然后建立这个恢复的分支啊,然后切换到分支,然后对比分支, 这个确定咱们的内容是不是真正的恢复过来了啊,然后切换到你的分支啊,最后咱们用这个 cherry 的 这个 pick 啊,来进行恢复啊,最后呢,咱们可以推送到这个远程的这个这个 get 分 支上去啊,就可以了。 ok, 那 这里呢,其实也可以给你们演示一下啊,比如说我现在切换到这个,咱们来一下 get 这个 diff, 跟主分支去比较一下啊, ok, 那 其实它的也很明显啊,一个是 vlog 音,然后是咱们的 fix, 这个说明咱们是真正的去恢复了慢 q 键,然后 kick get, check out, 焖啊,然后 get, 呃,我看一下啊, ok, 这个打错了, check 奥特曼啊,然后咱们切换到焖分之了,然后咱们 get, 然后 cherry 摘樱桃嘛,对吧? cherry pick, 然后呢,找到咱们刚才的这个这个啊,也就是 这个抗体,咱们恢复的抗体啊,然后将它恢复到这个焖分之上啊,这个考不过来粘贴,然后回车啊, 那此时呢,咱们这个分支就已经贴的,就是追加到咱们的分子上,这此时呢,咱们再来看一下老规矩,说明咱们就真的已经回来了。 ok, 那 今天的分享就到这里了,我是成员 shaka, 这里只讲干的,我们下期再见。

开源项目盘点之 wordpress 目前它在 github 上已经有二十点六 k star 了,以前建网站要写代码,现在不用了。 wordpress 最强大的革新就是区块编辑器,也就是大家常说的 gutenberg 谷腾宝。你要添加文字就拖一个段落区块,要放图片就拖一个图片区块排版就像搭乐高一样简单,所见即所得,这是真正让小白也能见战的关键, 想让网站变个样子,太简单了。 wordpress 提供了数以千计的主题,主题决定了你网站的外观和布局,你只需要在后台点击外观,找到你喜欢的风格,点击安装启用, 你的网站瞬间就能从簿刻变成一个专业的在线网站。内容不变,外观秒换,完美适配各种业务需求。如果说主题决定外观,那么插件就决定了功能, 这是 wordpress 生态最恐怖最强大的地方,插件库里有超过五万个插件,帮你实现众多功能。作为 cms, 内容管理能力是它的基石,多用户协助它支持多用户分权限管理。 排成发布,你可以提前写好文章,设定好发布时间,让网站自己定时更新。固定链接,它可以自定义 e r a 二结构,让你的链接对搜索引擎更友好。当然它还有其他功能在这我就不一一介绍了。接下来给大家演示一下 如何一分钟完成私有化部署。首先打开浏览器地址,输入 cloud dot c l s dot run 进行注册,注册成功后,控制台找到应用商店,输入 wordpress 就 可以看到预安装的 wordpress 应用了。然后点击部署应用,点击确认, 等应用状态变成 running 后,点击公网地址就可以看到已经成功部署了 wordpress 应用,如何使用就等你自己去探索了。然后大家可以扫码添加我们的交流群,都由技术在群内实时解答。如果觉得本期视频对你有帮助,请不要忘记一键三连哦,下期视频再见!

这个 github 项目是目前最全的免费 ipi 集合,已经收获了三百八十五 kstar, 成为开发者们的必备工具。它汇集了四十多个领域的 ipi, 从动漫、动物、艺术到区块链、加密货币、 ai、 云存储、游戏,甚至摄影和编程等,几乎覆盖了所有你能想到的领域。 每个 ipi 都详细提供了描述、认证方式、支持情况等信息,而且还可以在网站中直接进行搜索,极大的方便的开发者快速找到合适的 ipi。 无论你是开发新应用,还是在寻找某个特定功能的 ipi, 都可以在这个资源库中找到最适合的选择,感兴趣的兄弟们可以去体验一下。

有人帮你编辑代码,有人帮你输入文字,有人帮你管理代码,而你只需要下发指令即可。工欲善其事必先利其器,今天和大家分享一套工具链,让你能够更好的加入 ai, 即使你是代码领基础小白也能够看明白。 那第一个呢,就是 kiro, 说白了,他就是一个帮你写代码的工具,通过他就可以将你的需求通通实现。你只需要通过对话的形式,将你的需求准确的传递给他,让他来帮你解决问题。 那在页面的右侧就是我和 ai 的 一个聊天记录,那 kiro 呢?目前内置最强的代码编写模型,像 cloudsonic 四点五以及 cloudops 四点五都是有的。那目前呢,新用户可以免费赠送五百积分,只够你来开发一个小型的应用。 那我们刚有说到,你需要将你的需求准确地传递给 ai, 那 如果通过传统的方式,我们就需要输入很多的文字内容,那现在呢,我们只需要使用 tablas 这款语音输入法,只要我们按下 fn 键,此时我们按下 fn, 尽可能的详细的说出我们的需求。那这款工具呢,就可以将语音转化成文字内容,不仅解放了我们的双手,还提升了我们的工作效率。 真的,这款工具只有你使用了才能明白我说的意思。那当我们使用 tablas 将语音内容转化成文字,然后发送给 kiro, 假设 kiro 此时完成了我们的需求,我们对它实现的效果也很满意, 那这个时候我们应该做一个存档的操作。那此时呢,我们就需要使用 get 这个版本控制工具, 我们可以将 get 理解为一个代码的时光机,我们每一次的功能的完成,以及每一次代码的修改都应该有一个提交记录, 那我们就可以通过 get 来帮我们记录每一次的代码变更,哪怕 ai 后续将我们的代码改崩掉了,我们也可以随时回到当前的版本。那 get 呢?就是你的托底,就是你的后悔药。 那如果你之前没有听说过 git 这个工具,看到这你可能会说,哎呀,我不会使用这个工具,我不想学新的工具,哎,你别急,你先别急,这都没关系,你不会 ai 会啊。 那下面的话,我们就通过实利的方式告诉你该如何在 ky 中使用 git。 首先我们打开 ky 这个软件,登录自己的账号。 好,大家可以看到,现在我们已经成功登录账号,在 kiro 软件的状态栏部分,我们可以看到有五百积分。 那下面呢,我们就通过实力的方式告诉你该如何在 kiro 中使用 git, 按下 fn, 请告诉我 git 是 什么东西?我不太明白。 大家可以看到按下 fn 后,说出我们的疑问,然后让 ai 来帮我们解决问题。 此时我们将问题发送给 ai, 那 它就进行一个回复,我们继续提问,那如果我想在项目中使用 get, 我 该怎么做呢? 继续提问。 那大家可以看到啊,这是 ai 给我们的一个回答,那你来帮我执行一下 get status 吧。 那我们现在又把问题发送给了 ai, 看一下它是如何执行的。大家可以看到它在执行这条命令, 然后他执行完命令之后呢,他告诉我们他看到了什么?我们后续该怎么操作?那这个呢?就是我们在 qq 中使用 get 的 一个流程, 这就是整个工具链的使用过程了,通过语音输入法将你的需求说清楚,讲明白,然后发送给 ai, ai 理解你的意图之后,然后进行编码,如果满意,你就让 get 帮你保留,如果不满意,那就让 get 帮你回推,而你只需要下达指令即可。 那上述呢?就是整个工具链的使用过程了。关注我,后期我会持续分享更多有意思的内容。

很多人用 git, 每天都在敲 git commit, 但心里其实一直有个疑问,我这一提交,到底提交了什么?先说结论, commit 不是 存文件, 而是在给项目拍一张可回道的照片。每一次 kimit kimit 都会做三件事,第一件事,记录当前所有文件的状态。注意,不是指存你改的那几行,而是记录这一刻整个项目长什么样。第二件事,把这次状态和上一次连起来,每个 kimit 都知道 我是从哪一次改过来的。所以 get 才能形成一整条历史时间线,让你随时往前往后跳,找兼职,找副业,就上 it 找活,也就是 commit message。 这不是给 commit 看 的,是给未来的你、同事和背锅时的自己看的。那为什么说 commit 很 重要?因为它是 get 世界里的最小安全点, 只要你 copy 过,哪怕代码全删了和崩了,拉错分支了,都还能回得去,那什么时候该 copy? 一 句话原则,做完一件完整的小事,就 copy 一 次,修一个 bug, 完成一个功能点,不是写完一天再一把缩。最后一句人话总结, get copy 等于 我确认这一版代码是能交代的,你不是在保存代码,你是在给项目留下可以信任的历史记录。

传统 git 就 很复杂,要么先 scratch 切分支,要么硬着头皮混在一起提交。本期视频为大家带来的开源工具 git 马拉姆目前已经在 github 上拥有十七个 star。 git 马拉姆最核心的亮点就是虚拟分支, 能帮助开发者同时在多个分支上工作。利用拓转操作,它能够轻松实现提交的撤销、修改和合并。从代码组织到版本管理, 从临时修复到功能开发,使整个流程看起来更自然流畅。只是在多种操作系统上运行,包括 windows、 mac os 和 linux。 除了以上说法的核心功能外,还有操作力是回滚工具的本质作用,本就是为了提升工作效率。