

统一声明:
1.本站联系方式QQ:709466365 TG:@UXWNET 官方TG频道:@UXW_NET 如果有其他人通过本站链接联系您导致被骗,本站一律不负责! 2.需要付费搭建请联系站长QQ:709466365 TG:@UXWNET 3.免实名域名注册购买- 游侠云域名 4.免实名国外服务器购买- 游侠网云服务
其实Git提交代码有一套“从工作区到远端仓库”的清晰流程:先把修改的文件加到暂存区,再提交到本地仓库,最后推送到远端,每一步都有明确的操作逻辑。这篇文章把这套流程拆成“新手能直接跟着做”的步骤,连“commit信息怎么写更规范”这种细节都讲透;同时把大家常踩的“提交重复文件”“分支切换丢代码”“远端拒收提交”等10多个问题扒出来,每个问题都给了直接能抄的解决命令和避坑技巧。
不管你是刚入门的Git小白,还是偶尔会忘步骤的老司机,看完这篇都能快速搞定代码提交,再也不用因为提交问题翻遍搜索记录啦。
你是不是也遇过这种情况?改了半天代码,想提交的时候对着Git命令框发呆——敲了git add
又怕漏文件,commit message
写得像流水账,push的时候突然蹦出“remote rejected”报错,整得满头大汗还没搞定?我当初学Git的时候,这些坑一个没落下,后来跟着资深开发同事摸出了一套“傻瓜流程”,现在提交代码比点外卖还顺,今天就把这套步骤和踩过的坑跟你唠唠。
Git提交代码的“三步稳”流程,新手照着做就对了
Git提交本质是“把代码从你电脑搬到远端仓库”的过程,我把它拆成“选文件→写备注→推远端”三步,每一步都给你说清楚为什么要这么做,避免你像我当初一样“知其然不知其所以然”。
首先是第一步:把要提交的文件“选”进暂存区。命令是git add
或者git add .
(加当前目录所有修改)。别觉得git add .
万能——我之前帮同事处理过,他用git add .
把node_modules
(依赖包文件夹)也加进去了,导致提交体积从100KB变成100MB,被仓库管理员追着改。后来我教他:先配置.gitignore
文件,把不需要提交的内容(比如日志、依赖包、临时文件)写进去,这样git add .
就不会“乱捞”;要是没配置,就用git add
加具体文件,比如git add src/pages/Login.vue
,稳得很。
接下来是第二步:把暂存区的代码“存”到本地仓库。命令是git commit -m "类型: 描述(#需求号)"
。这里重点说下message
——别写“fix bug”“update”这种没用的!我之前跟后端同事结对编程,他的commit message
全是“改了点东西”,后来线上出问题要回滚,我们翻了20条记录才找到对应的commit
,差点没疯。现在我都按Angular规范写:类型用feat
(新功能)、fix
(修bug)、docs
(改文档)、style
(格式调整),后面跟具体描述+需求号,比如“feat: 用户中心新增手机号验证功能(#456)”。你要是记不住规范,存个模板在记事本里,提交的时候复制改一改,比瞎写强100倍。
最后是第三步:把本地仓库的代码“推”到远端。命令是git push origin
,比如git push origin dev
。这里要注意:push前一定要先拉代码!我帮前端实习生处理过,他直接push,结果提示“error: failed to push some refs”——就是因为远端有更新他没拉,导致代码冲突。后来教他先git pull origin dev
,把远端最新代码拉下来,解决冲突再push,立马就成了。
我把常用命令整理成了表格,你可以存起来对照着用:
流程步骤 | 核心命令 | 具体作用 | 避坑提示 |
---|---|---|---|
选文件到暂存区 |
git add /git add .
|
同步工作区修改到暂存区 | 用.gitignore 排除无关文件(如依赖包) |
提交到本地仓库 | git commit -m "类型: 描述(#需求号)" |
记录暂存区修改到本地仓库 | message要具体,带需求号方便回溯 |
推送到远端仓库 | git push origin |
同步本地修改到远端仓库 | push前先git pull ,避免冲突 |
提交时最常踩的8个坑,我帮你把解决方案“攒”全了
流程搞懂了,但实际操作中还是会踩坑——我整理了自己和同事遇到的高频问题,每个都给你说清楚“场景+原因+解决办法”,看完你就能直接“抄作业”。
坑1:push时提示“remote: Permission to xxx denied”
场景:你敲了git push
,结果弹出“权限不足”提示,根本推不上去。 原因:要么是SSH密钥没配置,要么是仓库管理员没给你权限。 解决方法:先检查SSH密钥(终端敲ssh -T git@github.com
),如果提示“Hi xxx! You’ve successfully authenticated”说明没问题;要是提示“Permission denied”,就重新生成SSH密钥(ssh-keygen -t rsa -b 4096 -C "你的邮箱"
),然后把公钥(~/.ssh/id_rsa.pub
里的内容)复制到GitHub/GitLab的“SSH Keys”页面。我之前帮朋友处理过,他是把公钥“少复制了一位”,重新粘贴就好了。
坑2:合并分支时出现“Auto-merging xxx CONFLICT (content)”
场景:你在dev
分支开发,想合并到master
,结果Git提示“冲突”,文件里全是<<<<<<< HEAD
这种标记。 原因:两个分支都修改了同一个文件的同一行内容,Git不知道该保留哪一个。 解决方法:打开冲突文件,看这三个标记——<<<<<<< HEAD
是当前分支(你正在合并的分支)的内容,=======
是分隔线,>>>>>>> dev
是要合并的分支的内容。比如你在dev
加了“忘记密码”按钮,master
里改了按钮颜色,就看需求文档选对内容(比如保留“忘记密码”按钮+新颜色),删掉标记后保存,再git add
→git commit
→git push
就行。Git官方文档(https://git-scm.com/docnofollow)里说,冲突是正常行为,按标记处理就好,不用怕。
坑3:commit后发现漏改了文件,想“补”提交
场景:你刚commit
完,突然发现漏改了一个bug,又不想再写一条commit
。 解决方法:用git commit amend
!先修改漏的文件,然后git add
,再敲git commit amend
,会弹出编辑框,你可以修改之前的message
,也可以直接保存。我之前帮实习生处理过,他漏改了登录页的验证码样式,用这个命令“补”了提交,避免了多条无用的commit
记录。
坑4:git add
后想撤销暂存的文件
场景:你不小心把test.js
(测试文件)加到了暂存区,想撤回来。 解决方法:用git reset HEAD
,比如git reset HEAD test.js
。我之前犯过这错,把测试数据文件加进去了,用这个命令一键撤销,比重新提交方便多了。
这些坑都是我和同事摸爬滚打攒下来的——你要是按流程试了,遇到问题随时来找我唠;要是成功了,也别忘了回来告诉我,让我沾沾你的喜气~
用git add .会不会不小心把不需要的文件加进去?
会的,我之前帮同事处理过,他用git add .把node_modules(依赖包文件夹)也加进去了,导致提交体积从100KB变成100MB,被仓库管理员追着改。
其实避免这个问题很简单,先配置.gitignore文件,把不需要提交的内容(比如日志、依赖包、临时文件)写进去,这样git add .就不会“乱捞”;要是没配置,也可以用git add加具体文件路径,比如git add src/pages/Login.vue,这样更稳妥。
push时提示“remote: Permission to xxx denied”怎么办?
这种情况要么是SSH密钥没配置好,要么是仓库管理员没给你权限。我之前帮朋友处理过,他是把SSH公钥少复制了一位,导致权限不足。
先检查SSH密钥:终端敲ssh -T git@github.com,如果提示“Hi xxx! You’ve successfully authenticated”说明没问题;要是提示“Permission denied”,就重新生成SSH密钥(ssh-keygen -t rsa -b 4096 -C “你的邮箱”),然后把公钥(~/.ssh/id_rsa.pub里的内容)复制到GitHub/GitLab的“SSH Keys”页面,重新push就行。
合并分支时出现“Auto-merging xxx CONFLICT (content)”怎么处理?
这是因为两个分支都修改了同一个文件的同一行内容,Git不知道该保留哪一个。我之前在合并dev到master的时候就遇到过,文件里全是<<<<<<< HEAD这种标记。
解决方法很简单:打开冲突文件,看三个标记——<<<<<<>>>>>> dev是要合并的分支的内容。比如你在dev加了“忘记密码”按钮,master里改了按钮颜色,就按需求文档选对内容(比如保留“忘记密码”按钮+新颜色),删掉标记后保存,再git add→git commit→git push就行。Git官方文档也说,冲突是正常行为,按标记处理就好,不用怕。
commit后发现漏改文件,能补提交吗?
当然可以!我之前帮实习生处理过,他commit后发现漏改了登录页的验证码样式,又不想再写一条没用的commit。
你可以用git commit amend:先修改漏的文件,然后git add,再敲git commit amend,会弹出编辑框,你可以修改之前的message,也可以直接保存。这样就能把漏改的内容补到上一条commit里,避免多条无用的记录。
git add后想撤销暂存的文件怎么办?
我之前犯过这个错,不小心把测试文件test.js加到了暂存区,后来用一个命令就撤回来了。
用git reset HEAD 就行,比如git reset HEAD test.js,这样就能把这个文件从暂存区撤回到工作区,不用重新提交。这个命令很实用,亲测有效。
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!
8. 精力有限,不少源码未能详细测试(解密),不能分辨部分源码是病毒还是误报,所以没有进行任何修改,大家使用前请进行甄别!
站长QQ:709466365 站长邮箱:709466365@qq.com