Git 入门:从第一次提交到和别人一起改代码

举报
yd_228790497 发表于 2026/11/02 14:50:53 2026/11/02
【摘要】 写代码最怕的不是写错,而是改乱了回不去。改到一半想回到昨天能跑的版本,靠复制文件夹、加一串日期后缀,撑不了几天就会乱。Git 就是解决这个问题的工具:它不替你写代码,只帮你把每一次改动记下来,随时能回去,也能和别人一起改同一份代码而不互相踩脚。 一、Git 到底在管什么很多人第一次用 Git,会把它当成网盘:以为是把代码传到网上存一份。其实 Git 管的是改动的历史。你的项目里每一次提交,都...

写代码最怕的不是写错,而是改乱了回不去。改到一半想回到昨天能跑的版本,靠复制文件夹、加一串日期后缀,撑不了几天就会乱。Git 就是解决这个问题的工具:它不替你写代码,只帮你把每一次改动记下来,随时能回去,也能和别人一起改同一份代码而不互相踩脚。

一、Git 到底在管什么

很多人第一次用 Git,会把它当成网盘:以为是把代码传到网上存一份。其实 Git 管的是改动的历史。你的项目里每一次提交,都是当时全部文件的一张快照,外加一句你写的说明。快照连成一条线,就是这个项目的成长过程。想回到某一步,就把指针拨回那张快照;想知道某行代码是谁什么时候改的,沿着历史翻就能找到。

理解了这一点,后面的命令就都顺了:提交不是上传,拉取不是下载,分支也不是复制一份项目。

二、装好之后先做两件事

安装完成后,先告诉 Git 你是谁。这两行配置只写进你自己的电脑,不会公开,也不会用来登录任何网站,它的作用只有一个:以后每一次提交,署名都是你。

第一行设名字,第二行设邮箱,对应命令是 git config --global user.name 和 git config --global user.email。名字可以用网名,邮箱用你常用的那个。配完可以用一条查看命令确认,看到刚才填的内容回显出来,就说明配好了。这一步只做一次,以后换电脑再配一次就行。

三、第一次提交,四步就够

找一个练习文件夹,先执行 git init 初始化。初始化的意思是在这个文件夹里建一个专门记历史的隐藏目录,从这一刻起,Git 开始为这个文件夹记账。没有初始化的文件夹,Git 是不管的。

然后是四步循环,以后每天写代码基本就是重复这四步。第一步用 git status 看状态:哪些文件改了、哪些还没被记下来,状态命令会用不同颜色和分组告诉你,一眼就能看清。第二步用 git add 把想记下来的改动加进暂存区,可以一次加一个文件,也可以一次加全部,刚开始建议一个一个加,养成检查的习惯。第三步用 git commit -m 提交:给这次改动写一句说明,说明要写清楚改了什么、为什么改,比如修复了登录按钮在窄屏下错位的问题,而不是只写改了一下。第四步用 git log 看记录:提交之后翻一下历史,确认刚才那次提交已经在里面,说明文字也对得上。

这四步跑通一次,Git 就算入门了。剩下的功能,都是在这四步上加的花样。

四、分支:主线不动,新想法另开一条线

写到一半突然想试一个新做法,又怕把现在能跑的版本弄坏,这时候就该用 git branch 开分支、用 git checkout 切换过去。分支不是复制项目,而是在当前快照上另起一条线。主线继续保持能跑,新想法在分支上随便折腾,做坏了删掉分支就行,主线毫发无损。做成了,再用 git merge 把分支合并回主线。

合并时最常见的结果是顺利合上,因为两条线改的是不同地方。偶尔会遇到冲突:两个人改了同一行,Git 不知道该听谁的,就会停下来等你决定。这不是故障,是 Git 在保护你的代码。下一节说怎么处理。

五、和别人协作:先拉后推,冲突不可怕

一个人用 Git,只需要在本地记历史。两个人以上,就要一个大家都能访问的远程仓库。第一次拿到别人的项目用 git clone 克隆,克隆会把完整历史都拿回来。之后每天开工先用 git pull 拉取,把别人昨天推上去的改动同步到本地;自己的改动提交好之后再用 git push 推送上去。

冲突就发生在这个环节。打开冲突文件,会看到几行特殊的标记,把两个版本隔开:上面是你本地的改动,下面是对方推上来的改动。你要做的不是二选一,而是读懂两边各想干什么,手工拼成一个两个人都想要的结果,删掉标记行,再提交一次。处理完冲突的那次提交,说明里写清楚合并了哪两边的改动,方便以后回查。

还有一条协作礼貌:推送之前先拉取,拉取之后先跑一遍,确认能跑再推。把跑不通的代码推上去,坑的是下一个拉取的人。

六、新手最容易踩的四个坑

第一个坑是把不该进仓库的东西提交了,比如账号密码、密钥文件、大体积的安装包和编译产物。办法是在第一次提交之前就建好忽略文件,把这些类型写进去,Git 就会自动跳过它们。已经提交过的密码要当作已经泄露来处理,改密码比删记录更重要。

第二个坑是提交说明写得太随意。过一个月回头看,改了一下这种说明等于没写。好的说明有一个动词加一个对象,再加一句原因,读起来就像一句话:修复了什么、新增了什么、为什么这样改。

第三个坑是长期在主分支上直接改。主分支应该是随时能跑的状态,新功能、新实验一律开分支,合并之前自己先测一遍。

第四个坑是提交太少,一天只提交一次。提交的粒度应该是做完一件小事就提交一次:修好一个问题、加好一个功能、改好一处样式,各算一次。这样回退的时候才能精确回到某一步,而不是一下退回一天前。

七、今天就能练的一组动作

新建一个练习文件夹,里面放一个写着一句话的文本文件。初始化,看状态,加进暂存区,提交,翻记录确认。然后改一句话,再走一遍看状态、暂存、提交、看记录。接着开一个分支,在分支里再改一句话,合并回主线。这一圈跑下来不过十几分钟,但 Git 最核心的动作你就都摸过一遍了。

Git 的命令看着多,真正每天用的就是状态、暂存、提交、看记录、分支、拉取、推送这几个。先把这几个用顺,再去学变基、贮藏、打标签那些进阶用法,顺序反过来会越学越乱。工具是为人服务的,能帮你放心大胆地改代码、随时回得去,它就值了。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。