游侠网云服务,免实名免备案服务器 游侠云域名,免实名免备案域名

统一声明:

1.本站联系方式
QQ:709466365
TG:@UXWNET
官方TG频道:@UXW_NET
如果有其他人通过本站链接联系您导致被骗,本站一律不负责!

2.需要付费搭建请联系站长QQ:709466365 TG:@UXWNET
3.免实名域名注册购买- 游侠云域名
4.免实名国外服务器购买- 游侠网云服务
Git提交代码详细流程及常见问题总结

其实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 addgit commitgit 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,这样就能把这个文件从暂存区撤回到工作区,不用重新提交。这个命令很实用,亲测有效。