把本地代码提交到服务器,核心就四步:git add、git commit、git remote add、git push,第一次推送用 git push -u origin main 绑定上游,之后每次改完代码,重复 add、commit、pull、push 即可。
git怎么把本地代码提交到远程服务器:先分清三种“服务器”
Git 里的“服务器”不是只有一种,有人说的是 GitHub,有人说的是公司内网 GitLab,还有人说的是服务器上一块裸仓库,提交命令大体相同,但认证方式、权限和网络路径差别很大。
- 托管平台:GitHub、Gitee、GitLab.com、Coding 等,注册后建仓库,本地推送。
- 自建服务:公司内网的 GitLab、Gitea、Bitbucket,需要管理员开权限,常走内网地址。
- 裸仓库:服务器上
git init --bare出来的目录,没有网页界面,适合小团队或部署机拉代码。
提交前先确认三件事
- 本地是不是 Git 仓库,执行
git status,如果提示 not a git repository,就先git init。 - 身份有没有配置,执行:
git config --global user.name "你的名字" git config --global user.email "you@example.com"
- 能不能访问远程地址,SSH 方式用
ssh -T git@服务器域名测试,HTTPS 方式确认账号和令牌有效。
据 Git 官方文档,git push 的作用是把本地分支引用更新到远程仓库,理解这一点,后面遇到报错就更容易定位。
第一次提交:从 git init 到 git push
进入项目目录,依次执行:
cd /path/to/project git init git add . git commit -m "init project"
然后到服务器上创建空仓库,GitHub、Gitee、GitLab 新建项目时,不要勾选初始化 README,否则远程会多出一个提交,第一次推送容易冲突。
接着绑定远程地址:
git remote add origin git@github.com:user/repo.git git remote -v
最后推送:
git branch -M main git push -u origin main
-u 的作用是把本地 main 和远程 main 绑定,绑定后,以后只写
git push 也能推。
| 协议 | 认证方式 | 适合场景 | 注意点 |
|---|---|---|---|
| HTTPS | 账号 + 令牌 | 临时开发、公司代理严格 | 可能需要凭据缓存 |
| SSH | 密钥 | 长期开发、自动化脚本 | 公钥要放到服务器 |
| 内网 HTTP/SSH | 内网账号或密钥 | 公司自建 Git | 确认内网 IP 和端口 |
日常提交:改完代码怎么再次推到服务器
第一次推送成功后,日常流程就短很多。
git status看改了哪些文件。git add -A或git add 文件名加入暂存区。git commit -m "feat: 完成登录接口"提交到本地仓库。git pull --rebase origin main先同步远程更新。git push origin main推到服务器。
如果多人同时改同一个分支,直接 push 可能被拒绝,先 pull 再 push 是更稳的习惯,冲突解决后执行:
git add 冲突文件 git rebase --continue git push origin main
团队协作时本地代码提交到Git服务器流程
多人协作时,不建议所有人直接推 main,更常见的做法是功能分支加合并请求。
功能分支怎么开
git checkout -b feature/login git add . git commit -m "feat: 增加登录页" git push -u origin feature/login
推送后,在 GitHub、Gitee 或 GitLab 上创建 Pull Request / Merge Request,评审通过后再合并到 main。
行业共识认为,功能分支加合并请求比直接推主干更适合多人协作,因为它能留下评审记录,也方便回滚。
合并前先同步远程
git fetch origin git rebase origin/main git push --force-with-lease origin feature/login
--force-with-lease 比 --force 安全,它会在远程分支被别人更新时拒绝覆盖。
对比:git提交到GitHub和Gitee有什么区别
| 平台 | 访问特点 | 常见用途 | 提交方式 |
|---|---|---|---|
| GitHub | 国际平台,网络情况看线路 | 开源、国际协作 | HTTPS / SSH |
| Gitee | 国内平台,访问相对稳定 | 国内团队、镜像仓库 | HTTPS / SSH |
| 自建 GitLab/Gitea | 数据在自家机房 | 企业内部、合规要求 | SSH / HTTP |
如果项目主要面向国内用户,Gitee 或国内云厂商的代码托管往往更顺手,如果参与国际开源,GitHub 生态更完整。
免费Git服务器和付费Git服务器提交代码区别
提交命令完全一样,都是 add、commit、push,区别在管理能力,免费账户通常够个人和小团队用,付费主要买权限审计、存储空间、CI/CD 额度、SLA 和技术支持,企业选型时,合规和权限往往比价格更重要。
国内服务器Git提交代码速度慢怎么办
国内不同地域、不同运营商访问同一平台,速度可能差很多,可以按下面顺序排查。
- 优先用国内托管:Gitee、简米云效、腾讯工蜂、Coding。
- 自建 GitLab 或 Gitea,走内网地址,通常比公网稳定。
- SSH 被限制时,尝试把 SSH 端口改成 443,或按公司规定配置代理。
- 大仓库用浅克隆:
git clone --depth 1。 - 只拉需要的分支:
git clone --single-branch --branch main。 - 大文件放 Git LFS,不要直接塞进普通提交。
业内专家指出,代码托管平台的访问速度往往与机房位置、运营商线路和是否走内网有关,同一个仓库,换一种网络路径,体验可能完全不同。
自建Git服务器怎么提交代码:裸仓库和GitLab两种做法
裸仓库方式
服务器上执行:
sudo mkdir -p /srv/git/project.git cd /srv/git/project.git sudo git init --bare sudo chown -R git:git /srv/git/project.git
本地执行:
git remote add origin ssh://git@服务器IP:22/srv/git/project.git git push -u origin main
裸仓库不要直接编辑文件,它只存 Git 数据,工作区应该放在别处。
GitLab/Gitea方式
网页创建项目,复制 SSH 或 HTTP 地址,本地执行:
git remote add origin git@服务器IP:group/project.git git push -u origin main
然后在后台配置 SSH Key、保护分支和成员权限,这种方式适合团队,能看到提交历史、合并请求和 CI 流水线。
推送失败时先查这五处
- 远程地址对不对:
git remote -v - 认证有没有过:
ssh -T git@服务器 - 分支名是否一致:
git branch -vv - 远程是否有新提交:
git pull --rebase origin main - 是否碰到保护分支或大文件限制
常用排查命令:
git status git remote -v git branch -vv git log --oneline --graph --decorate -5
安全提交习惯
.gitignore忽略.env、node_modules、target、dist。- 提交前用
git diff --cached检查暂存区。 - 不提交密钥、令牌、数据库密码。
- 主分支开启保护,不允许直接 push。
- 需要签名时用
git commit -S。
本地到服务器的提交链路并不复杂:工作区到暂存区,暂存区到本地仓库,本地仓库再到远程仓库,把 add、commit、pull、push 做顺,绝大多数提交问题都能定位。
关于git把本地代码提交到服务器,常见问题解答
git push 提示 rejected 或 non-fast-forward 怎么处理?
先执行 git pull --rebase origin main,解决冲突后 git add,再 git rebase --continue,git push origin main,如果当前在功能分支,先 rebase 主分支,再推功能分支。
服务器上的代码怎么同步到本地?
用 git pull,或者 git fetch origin 后再 git merge origin/main,本地有未提交改动时,先 git stash 或提交,避免拉取覆盖工作区。
免费Git服务器和付费Git服务器提交代码区别?
提交命令没有区别,都是 git add、git commit、git push,差异在权限审计、私有仓库数量、CI/CD 额度、备份策略和技术支持,免费适合个人和小项目,付费适合需要合规、内网和 SLA 的企业团队。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/765315.html





