我是怎么学会Github的?

我是怎么学会Github的?

前言

其实不知道前言写啥,介绍github的事情太多人干过了。
轮到自己来干的时候感觉像在把自己蒸馏成skill一样。
好吧,就只是完成任务而已,讲讲自己是怎样学会github的,讲讲来时路。


正篇

① 命令基础

这里写一些github的基础操作。

Init

git init 用来把当前文件夹初始化成一个git仓库。
执行后,当前目录会生成一个隐藏的.git文件夹,git会开始记录这个项目的版本变化。

.gitignore

.gitignore 用来告诉Git哪些文件不需要被记录。
例如:

node_modules/
.env
dist/
.DS_Store

比如依赖文件夹、密钥配置文件、打包结果等,一般不需要提交到GitHub
通常情况下,IDE创建项目或是执行git init时,该文件会自动生成,可以进入自行修改。

Pull

git pull用来从远程仓库拉取最新代码,并合并到本地。
多人协作时,写代码前最好先执行一次,避免本地代码太旧。

Clone

git clone 用来把远程仓库复制到本地。

git clone 仓库地址

执行后,本地会多出一个项目文件夹,里面就是仓库代码。

Commit

git commit用来提交一次版本记录。
通常会先添加文件:

git add .

然后提交:

git commit -m "提交说明"

提交说明 简单写清楚这次改了什么即可。

Push

git push 用来把本地提交推送到 GitHub。
如果是第一次推送到某个分支,可能需要写成:

git push -u origin main

之后再推送一般直接使用 git push 即可。

Fetch

git fetch 用来获取远程仓库的最新信息,但不会自动合并到本地代码。

git fetch

它适合在不想立刻修改本地代码时,先查看远程仓库有没有更新。

Branch

branch也就是分支,用来在不影响主线代码的情况下开发新功能或修改问题。
有关Branch的内容非常多非常繁杂,学懂都不容易更别说自己用了。
所以本文不在此多做介绍,若想学可以使用下文提到的learnGitBranching
或者尤其现在AI时代,遇到不会的操作多问LLM就是了。


② 流程

了解完上面的命令后,我们可以把git / github的日常使用流程简单理解为:

第一次使用项目

如果是新建本地项目:

git init

如果是自己本地新建的项目,想上传到github,需要先在github创建仓库,并在本地连接远程仓库:

git remote add origin 仓库地址

其中origin是远程仓库的默认名字,仓库地址可以在github仓库页面复制。
查看当前连接的远程仓库:

git remote -v

如果是从github下载已有项目:

git clone 仓库地址
修改代码后提交

写完代码后,可以先查看当前文件状态:

git status

把修改过的文件添加到暂存区:

git add .

提交本次修改:

git commit -m "提交说明"
推送到github

提交完成后,把本地代码推送到远程仓库:

git push
拉取最新代码

如果是多人协作,开始写代码前建议先拉取最新内容:

git pull

简单来说,最常见的流程就是:

git remote add origin 仓库地址
git pull
...
git add .
git commit -m "提交说明"
git push

也可以理解为:先同步别人的代码,再保存自己的修改,最后上传到 GitHub。


③ 教学

这里写一些关于我是怎么学会github的内容吧,介绍来时路。

learnGitBranching

中文连接在这

这是一个免费开源的网页游戏,以游戏的方式教你如何理解git中的branch
从一开始的HEAD~^n开始,到后面的rebasefetchcherrypick这样的复杂命令,这个网页都以关卡的形式带你一步步学习并完成。
以可视化的方式学习git不仅有趣而且事半功倍,比自己一直盯着CLI里看好多了。

1

更好玩的是,这个网页提供了gitsandbox环境,你可以用可视化的方式自己在沙箱里各个节点之间跳转来玩。
此外,网页几乎全支持中文,有什么理由不去学习呢?

LLM

在当前LLM这么发达的环境下,有什么问题不能找LLM解决呢?尤其是这种CLI内的操作,完全是LLM的好球区。
不会用git?问问LLM吧。
遇到git命令报错?问问LLM吧。
提交和预期不符?问问LLM吧。
有什么不能问LLM的呢?

1

甚至连这篇博客的前面部分,很多也是LLM辅助完成的。
XD


④ 额外

再写一些想写的吧。

IDE

实际上现代的IDE对于git的支持相当好了,而且都是内置git功能,甚至创建项目时都会自动创建适合项目的.gitignore

1

在开发过程中,与当前本地分支不同的更改还会在侧边文件浏览器高亮,以VSCode为例:

  • .gitignore的文件透明度会降低。
  • 删除是红色的D
  • 新增是绿色的U
  • 修改是黄色的M
    • 修改还会标注具体有多少条更改,还能进行Tree比对。
1

尤其是VSCode,其侧边甚至自带了可视化的git管理工具,你可以在 0命令 的情况下完成基础的pullpushcommit等操作。
还有可视化的git log,可以很清楚的看见每个commit和当前所处的分支。

1

其实VSCode并不算IDE,本质是超级浏览器。
不过把它当IDE来用完全没有什么问题,而且很多程序员其实也根本不知道VSCode不算IDE

LLM

还是一样,现在的LLM可以回答你很多问题了。
这块和上面一样,这里就不复述了。

Agent

比起LLMAgent可就更厉害了。
上面教学部分我没提Agent,就是因为Agent比起教你学习git,它更适合 直接帮你完成你需要的git任务
直接给到权限,然后告诉Agent要做什么,他就会帮你完成了,甚至还会自己浏览你的github仓库页面检查是否完成了任务。
而且像git / github这样对于Agent来说简单的内容,你也无需自己部署什么skill,甚至连蒸馏的几b模型都能顺利完成这部分操作。
这就是Agent的强大,全交给它都可以的。

1
1

总结

前言不知道写什么,总结自然也不知道写什么。
github很好用,好用到干这行不得不学,所以感觉也没啥好说的。
可能唯一想说的就是,大AI时代,还是要学会拥抱AI吧。
都说程序员怕被蒸馏成skill失业,但其实又有多少程序员不值得被蒸馏呢?
请保持饥饿,保持学习吧。

posted @ 2026-05-23 11:35  阿伍zhanwu  阅读(13)  评论(0)    收藏  举报