别让AI毁掉你的项目:一口气讲懂 Git 与 GitHub
开场
最近你是不是经常刷到这样一句话:
这个AI工具已经开源了,收获几万star,GitHub地址放在评论区。
你满怀期待地点进去,却只看到满屏的英文和代码。
找了半天不知道该点哪里,最后只能默默关掉。
以前看不懂GitHub,其实也没什么,大不了不用。
但现在,AI把编程的门槛直接打了下来。越来越多原本不会写代码的人,也开始用AI制作自己的工具,也就是所谓的Vibe Coding。
这时,GitHub就不再只是一个偶尔点开的陌生网站了。
你的Kimi Code、GPT或者Claude Code,可能会突然问你:
要不要启用Git存档?要不要Commit?要不要Push?甚至要不要开一个Branch?
你会发现,GitHub这东西,好像真的绕不开了。
所以今天,我就用大白话,把Git和GitHub上最常见的几个概念,一次给你讲清楚。
看完以后,你不仅能听懂AI到底在问什么,也会真正明白:别人所说的“项目已经放在GitHub了”,究竟是什么意思。
GitHub操作过程
现在,聪明的你开始做自己的小工具了。
你每次在原来的代码上编辑,AI也一路自信地改下去。
但AI总有不小心把你的代码改坏的时候。
这个时候,AI只能一脸无辜的给你道歉,并承诺不次不会犯了。
但你的代码已经改不回去了。
【git】
所以你就会想,能不能有一个工具,保存你的代码开发过程?
这样万一改错了,还能回退。
那么你就需要这个工具——Git,它是一套管理项目版本的工具,可以帮你记录代码每一次重要的变化。
也可以直接把它理解成 你游戏机里的一个存档管理系统。
但请不要误会,Git它不会时时刻刻帮你保存记录,你要主动确认要保存的改动。
而这个保存的动作就叫作:commit。也就是记住你目前的所有进度。
就像游戏里,每次你打boss前都会存档一次,”不小心失败了“还能读档。
每次执行Commit,Git都会把这一刻的项目保存一份快照,就像给这一刻拍张照片,留下一个可以随时返回的存档点。
哪怕有天AI不小心把项目改坏了,你就可以直接退回之前commit过的状态。是不是安心多了?
【GitHub】
但是,聪明的你想到,虽然Git确实可以通过commit帮你存档,并记录开发过程。
但你的所有记录现在还一直塞在电脑里,还是不太保险。
万一电脑丢了咋办?项目进度也丢了?
于是你马上想到了,能不能有一个类似网盘那样的东西,可以把你电脑里的东西上传到云端进行一次备份。
就像你的游戏进度会上传到云服务器一样。
没错,把项目保存到网盘里,听起来非常合理。
但网盘只负责存你的最终文件,根本不知道你这个项目的开发过程是怎么样的。
等AI改上几轮,你的文件夹很快就会出现:项目最终版、项目真最终版、项目最终版2,以及 新建文件夹。
评论区报个数,你还有没有更多版本了?
所以这一次,我们需要上传的,不止是你的项目,而是要把项目的改动历史一起上传。
这个时候,网盘就无法满足我们的需求了。
而可以保存项目、同时保存git改动历史的云端仓库,就是大名鼎鼎的 GitHub了。
当然,GitHub 的功能远不止备份,还能让多人协作开发。这个我们后面再讲。
简单来说,Git负责在你的电脑里存档,而GitHub负责把整套存档历史保存在云端。
现在,在众多大神开发者的齐心协力之下,GitHub已经成为了世界上最大的代码托管平台之一。
还有着大量公开的项目和资料。并且全透明没有全家桶没有广告弹窗。
比如有人整理了北京大学哈佛耶鲁的课程资料,有人手把手教你从零制作游戏,有人认真写了一份《程序员延寿指南》。
甚至还有人,把反对超时加班也做成了一个项目: 叫作996.ICU. 里面记录曝光了各种996、大小周的公司,并附上相关证据来源。
可以说GitHub简直把你的人生攻略都安排明白了。
【repo与 push】
话说回来,如果你想把项目保存在云端的Github上,
那你先要在GitHub上建立一个远程仓库,它叫Repository,简写Repo。
其实就是一个项目位置,之后你在原项目的所有改动,都会放在这个仓库里。
这个动作就像你在本地电脑里建一个新的文件夹是差不多的。
等仓库建好后,你会得到一个网址。
以后你要上传自己的本地开发记录到云端,就可以直接让你的agent往这个网址上传。
这个把本地的历史记录,送上 GitHub 云端的动作,就叫——Push。
它的中文意思就是”推“,意味着把你的本地历史记录,推一份到云端里。
就像你的游戏存档,在你的游戏机里保存了一份。然后又想往云端服务器上传一份,这样就双备份双保险了。
怎么样,如果听明白了请在弹幕上打出 学会了。
【clone与 pull】
这个时候你的好基友敲了敲你的门,想和你一起用AI开发产品。
大方的你爽快的同意了。
因为你已经把你的所有代码上传push到了Github一份,他就可以去你的这个仓库进行Clone。
Clone就是复制的意思,意味着把你把Github上的项目,连同编辑记录,全部复制到本地一份。
这样你的好基友就也有了这个项目的最新进度了 .
假如你的好基友和你一样聪明,很快,给你的这个工作开发了一个新的功能,经过授权他同样可以push到你的仓库。
聪明的你,这个时候会注意到,他上传到的位置是:云端的Github仓库。
但这个时候你的电脑可完全不知道有这回事。
所以这个时候你需要做的是 ——pull(拉取)。
它的意思就是,把这个仓库里最新的开发进度都拉取下来一份,并尝试合并进你电脑当前的项目。
好我们暂停一下,你可能会想问:那能不能直接clone整个项目呢?是不是也可以获得最新的版本?
是的,你很聪明,Clone当然也能拿到最新版本,但它会重新复制出一整套项目。
没有必要。
就像你已经游戏已经安装好了,以后游戏更新了,你只要下载最新的补丁即可,没有必要把整款游戏重新下载一遍。
所以总结一下:第一次拿项目用Clone,已经有项目,只需要同步进度就用Pull。
【进阶:main、branch与merge】
现在,你的小工具已经做完了,但你还没有用完额度,这是不允许的。
所以你想让AI给工具增加一个像素宠物的功能。
不过,这个新功能可能要改上好几次才能成功。
如果在这段期间,你还想稳定使用这个小工具,怎么办?
所以最好的预设就是:你一边拥有一个能稳定运行的正式版,另一个是可以折腾的实验版本,同时存在。
这就对应了Git仓库里的两条分支:一条是主分支Main,另一条是功能分支Branch。
Main是指主要开发的那条线,然后Branch是在主线边上新开的分支。
Branch的好处是,万一你不想要这个功能了,也可以直接删除分支,接着用原来的主线。
你还可以把Main理解成游戏里的主线存档。
而新开的Branch,则像是从主线存档旁边复制出了一个新的存档槽。
你想在分支里怎么折腾都没关系,随便用道具、随便跑图,如果后悔了就直接删这个存档线就行,你的游戏主线,还依然健在。
这就是开分支的好处。
等你把新的宠物功能开发成功了,想把branch的功能带回主线,就需要——Merge。
它就是合并的意思,你把在支线上进行的新功能开发,合并进原来的主线里。
好再暂停一次,既然Commit已经能让我们回到旧版本,为什么还要开Branch?
我们再来理解一次:Commit是在同一条游戏路线里 留下一个个存档点;而Branch是从其中一个存档点出发,另外开出一条平行路线。
所以,Commit解决的是“改坏以后怎么退回去”,而Branch解决的是“怎么在不影响正式版本的情况下,随便折腾开发新功能”。
【总结】
好了,总结一下,到现在为止,我们记住的不是一堆英文,而是一条完整的游戏存档线:
你用Git这个工具,给你的游戏存档(commit);
并且把这个存档的内容,同步(push)到云端的Github仓库(Repo)上;
想把完整的游戏记录搬到新机上,就用Clone。
后续要同步最新进度,就用Pull。
想开个分支去随便折腾,就开个Branch。避免影响你的主线Main。
分支上折腾的还不错,用Merge,把新改动合并回主线里。
这就是用GitHub和vibe Coding过程中,你需要先明白的一条基础流程。
当然Github上的术语不止这些,我还会直接整理一份文档放在评论区置顶。里面写着大部分的git指令对应意思,以及用游戏存档操作的比喻来帮你理解.
并把GitHub的连接状态自检做一个综合提示词,如果你最近在做项目。你还可以喂给你的AI让它帮你按提示词全面检索一遍.
如果感觉今天的东西有一点用请给我一个一键三连吧,这对我真的很重要。
结尾
以前,不会写代码的人,连做项目的门都找不到。
但现在,AI把这扇门直接踹开了。
你没学过编程,也真的做出一个属于自己的东西。
可AI越能写,你就越不能把整局游戏都交给它。
它可以替你打怪、跑图,甚至一路速通。
但什么时候存档、哪一版留下、出了问题退回哪里,必须由你自己决定。
所以本期视频给你的,从来不是几个程序员才懂的英文单词。
而是 当AI一路狂奔时,你手里依然有存档、有退路,也有最后的决定权。
从你按下第一次Commit开始,你就不再只是一个向AI许愿的人。
你开始真正拥有一个项目。