如何用Git将本地代码上传到远程服务器,远程仓库怎么推代码?

把本地代码上传到远程服务器,核心就三步:在本地仓库关联远程仓库地址,用git push把分支推上去,首次推送时加上-u参数锁定上游分支。这篇文章把这套流程拆开揉碎,从零开始讲清楚每一步命令的含义,顺带解决你可能会遇到的各种报错,全程基于命令行操作,图形界面工具虽然直观,但命令行能让你真正理解git的工作方式。

git本地代码上传到服务器完整步骤

先确认本地环境,终端里敲git --version,能看到版本号就说明git已经装好,没装的话,Windows用户去git-scm.com下载安装包,macOS用户执行brew install git,Linux用户用apt或yum装就行。

将本地代码传到远程仓库
加载中
将本地代码传到远程仓库

在远程服务器上创建空仓库

远程仓库是代码的”云端副本”,GitHub、Gitee、GitLab都行,如果是自己租的云服务器,也可以手动建一个裸仓库,以GitHub为例,登录后点右上角”+”号,选择”New repository”,填上仓库名,选Private或Public,千万别勾选”Add a README file”,否则本地仓库和远程仓库的初始提交历史会不一致,首次推送很容易冲突。

如果是自建服务器,SSH登录后在指定目录下执行:

cd /home/user/repos
git init --bare project-name.git

裸仓库没有工作区,只存储版本历史,专门用来接收推送。

关联本地仓库与远程仓库

本地项目文件夹里执行git init把它变成git仓库,然后添加所有文件并提交:

git add .
git commit -m "initial commit"

接着把远程地址关联到本地:

git remote add origin git@github.com:你的用户名/仓库名.git

这里origin是远程仓库的别名,完全可以用别的名字,但origin是全世界git用户的默认习惯,使用SSH地址能免去每次输入密码的麻烦,前提是你已经把SSH公钥配置到GitHub后台,公钥生成方式:

ssh-keygen -t rsa -b 4096 -C "你的邮箱"

一路回车后,把~/.ssh/id_rsa.pub复制到GitHub的SSH Keys页面。这一步做完再执行push,就不会每次都被要求输账号密码了,如果你用的是公司内部GitLab或者云服务器的自建仓库,需要先把SSH公钥添加进对应平台的设置里这步别着急,确认公钥已粘贴成功再继续。

首次推送设置上游分支

核心命令长这样:

git branch -M main
git push -u origin main

-M参数把本地分支重命名为main,与远程仓库默认分支保持一致,现在GitHub新建仓库默认分支是main,但很多老教程还在用

如何用Git将本地代码上传到远程服务器,远程仓库怎么推代码?

master,两者差别不大,只是社区默认值变了统一命名能在后续操作里少踩很多坑。

-u参数的作用是建立本地分支与远程分支的追踪关系,相当于告诉git:以后在这个分支上只需要敲git push或git pull,系统会自动识别该推送或拉取哪条远程分支,没有-u,每次推送都得完整输入git push origin main,麻烦且容易出错。

执行完这步,命令行会显示一行进度条,最后出现main -> main这样的输出,就说明代码已经成功推送到远程服务器了,登录仓库页面刷新一下,代码文件映入眼帘。

之后每次改完代码,推送流程缩减为:

git add .
git commit -m "描述这次改动"
git push

因为追踪关系已经绑定,不用再写origin main。

git push和git pull的区别是什么

把代码放上远程服务器只是起点,日常开发中,你会和这个远程仓库反复打交道,搞清楚push和pull的差异至关重要。

两个命令的角色分工

git push负责”输出”:把本地新建的提交推送到远程。git pull负责”输入”:把远程新增的提交拉取到本地并自动合并,一个上传、一个下载,方向完全相反。

团队协作场景里,行业共识认为最合理的操作顺序是:动手改代码之前先pull一次,把队友的新提交拉下来;改完之后commit,再push上去,这个习惯能避免大量冲突。

日常更新代码的正确顺序

假设你和同事共同维护一个项目,他的代码已经推到远程,你本地还停留在旧版本,直接改代码会以过期内容为基础,产生的冲突概率极高,正确做法:

git pull origin main
git add .
git commit -m "自己的改动"
git push

先pull让本地仓库对齐到最新状态,再改代码、提交、推送,这套流程能用一次pull动作明确”本地需要同步的增量”,同时用一次push明确”远程需要接收的增量”两条路各自清晰,是避免和队友互相覆盖代码的最直接保障。

如果pull之后发现改动了同一个文件的同一行,git会报CONFLICT错误,提示你手动解决冲突,打开文件,找到<<<<<<<、、>>>>>>>标记,保留你需要的代码,删掉标记,再add和commit一次,走完这套操作后重新push,冲突就算平了,大多数学生和团队开发者的日常状态,其实都处于”拉取修改提交推送”的循环里;对刚学会用git的人来说,能跑通这个循环就比背十条命令都有用。

git push origin master什么意思

如何用Git将本地代码上传到远程服务器,远程仓库怎么推代码?

新手时常在网上看到这条老命令,但又不敢直接敲担心master这个词是不是过时了,会不会报错,拆开看,一点都不神秘。

push命令的三段式结构

git push、origin、master是三段独立信息:git是命令本身,origin代表目标远程仓库,master是目标分支名,整句话的意思是”把本地当前分支推送到名为origin的远程仓库的master分支上”。

如果你的本地分支叫main,远程分支也叫main,那么命令自然变成:

git push origin main

所以git push origin master不是固定搭配,只要把master替换成你的远程仓库实际存在的分支名即可,旧教程喜欢用master,因为那是早期git的默认分支名。现在新建的仓库基本都用main,网上那些写master的老命令照抄当心推错分支。

分支名不对导致的常见报错

如果你在本地执行:

git push origin master

但远程仓库根本没有master分支,git会提示src refspec master does not match any,这不是你的代码坏了,只是分支名对不上,把master换成main,或者用git branch -M master先把本地分支改名,再执行一次就能成功。

同理,如果远程仓库分支太多,你不知道该往哪个推,用git branch -r能列出所有远程分支名,看图说话就行这条排查思路加上前面的改名方法,基本能覆盖大半推送失败的场景。

git私有仓库价格与国内服务器选择建议

对个人开发者来说,仓库是公开还是私有,直接关系到代码安全性,公开仓库谁都能看,私有仓库只有你和协作者能访问。

主流Git托管平台对比

三个平台各有侧重,适用场景不同。

平台 私有仓库免费额度 团队协作定位 服务器位置
GitHub 免费,协作者数量有限 全球最大开源社区 海外
Gitee 免费,个人开发者完全够用 国内生态完善,集成代码托管、自动构建 国内
GitLab 免费社区版 适合企业自建,支持私有化部署 自选

据统计,GitHub注册开发者数量已经相当庞大,是目前全球代码托管的事实标准,但是国内网络访问GitHub不算稳定,推送大仓或频繁交互时会有明显延迟,国内开发者选择云服务器或Gitee这类国内平台的比例近年也在攀升如果你主要在国内活动,优先考虑网络体验;如果目标是开源项目、国际协作,GitHub仍然是第一选择。

如何用Git将本地代码上传到远程服务器,远程仓库怎么推代码?

自建Git服务器要花多少钱

面向私有仓库,很多中大型团队更信任自建方案,代码数据完全掌握在自己手里,自建Git服务器通常由云服务器和GitLab社区版组成,这套组合的成本本身很低硬件按年付费,整体开销远低于商业托管计划的报价,前提是你愿意花时间维护,云服务器用最低配的云实例,系统装Ubuntu或CentOS,然后一键安装GitLab社区版,通过apt或yum直接部署,基本能跑得很稳,如果团队不到十人,甚至可以直接用git init --bare做一个裸仓库,配合SSH访问,零成本搞定。

这个选择的价值在于:托管平台无法承诺代码永不丢失,而自建仓库的备份策略完全由自己掌控,不过需要提醒的是,自建方案对你的运维能力有要求git服务器本身不出问题,但服务器断电、硬盘损坏、系统崩溃,都会导致你的代码仓库不可用,绝大多数团队和个人开发者,用免费平台就够了;纠结怎么选的话,先问自己三个问题:代码需要私密吗?队友主要在哪个网络环境?有没有专人维护服务器?答案清楚了,选哪条路也就清楚了。

git上传代码常见问题排查

报错1:Permission denied (publickey)
SSH密钥没配好,检查本地是否有密钥,公钥是否已粘贴到GitHub或Gitee后台,执行ssh -T git@github.com测试连接,能收到问候语就说明通了,这个命令是GitHub官方支持的连接测试方式,输出类似”Hi 用户名”的文本就说明SSH认证链路已经打通。

报错2:failed to push some refs to remote
本地提交历史与远程仓库不一致,常见于远程仓库里有README或license文件,而本地仓库没有,解决办法是:

git pull --rebase origin main
git push

--rebase会把本地提交”叠放”到远程最新提交之上,保持线性历史,执行pull之后,本地会自动归拢到和远程一致的内容上,冲突会当场显示,逐个修复即可。

报错3:Updates were rejected because the remote contains work that you do not have locally
这句英文其实在说:远程仓库有本地没有的提交,跟报错2的成因基本一样,解决思路也一致,先拉取再推送,顺序千万别反过来。

推荐一个万能的检查命令:

git remote -v

看输出里有没有origin对应的URL,如果输出为空,说明远程仓库地址还没有配置,回到前面重新执行git remote add origin这步即可。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/693623.html

赞 (0)
服务器3G内存如何设置虚拟内存,虚拟内存设置多少合适?
上一篇 2026年9月27日 06:46
LOL更新无法连接服务器怎么办,错误代码原因详解
下一篇 2026年9月27日 06:48

相关推荐

  • win10连接服务器失败怎么解决,无法远程连接怎么办?

    win10连接服务器失败,绝大多数问题出在本机网络配置、登录凭据或SMB协议兼容性上,按顺序排查通常能自行解决,先ping通不通,再看凭据和共享设置,最后查系统组件,这是最省事的路径,win10连不上服务器?先分清是网络问题还是权限问题每次弹窗报错,错误提示的内容其实已经给了线索,常见的“找不到网络路径”“拒绝……

    2026年9月22日
    400
  • 如何高效更新数据库数据?数据库批量更新语句怎么写

    更新数据库数据的核心在于确保事务的原子性与一致性,通过合理的锁机制和备份策略,在最小化业务中断的前提下完成数据的准确变更,在数字化运营的日常场景中,数据库不仅仅是存储信息的仓库,更是业务逻辑的基石,当我们需要修改用户信息、调整库存数量或更新交易记录时,直接执行“更新”操作往往伴随着巨大的风险,很多初级开发者容易……

    2026年5月27日
    4900
  • 中小企业网络怎么构建?中小型企业网络搭建方案

    构建中小型企业网络的核心在于平衡成本与安全性,建议采用“核心交换机+无线AP+下一代防火墙”的架构,并优先选择支持SD-WAN的解决方案以优化远程办公体验,对于许多初创公司或中小企业而言,网络不仅仅是连接电脑和手机的管道,更是业务连续性的生命线,一旦网络中断,不仅意味着员工无法工作,更可能导致客户数据泄露或交易……

    2026年5月27日
    5100
  • 苏州高防物理机租用到底哪家更靠谱,怎么选

    苏州高防物理机租用,靠谱的选择需结合机房资质、防御能力、带宽质量和售后服务综合评估,目前苏州本地口碑较好的服务商包括苏州蓝队云、苏州高防机房等,建议优先考虑拥有自有机房和单机300G以上防御能力的服务商,苏州作为长三角数据中心重镇,近年来DDoS攻击频次持续上升,高防物理机成为企业业务连续性的重要保障,但面对众……

    2026年7月28日
    1000
  • SYN泛洪攻击的工作原理是什么?,怎么拦截?

    SYN泛洪攻击的本质是利用TCP三次握手协议的设计缺陷,通过发送大量伪造源地址的SYN请求耗尽服务器资源,使其无法响应正常连接;目前最有效的拦截手段是部署具备SYN Cookie机制的防火墙或负载均衡设备,同时结合速率限制与源地址验证策略,SYN泛洪攻击是如何一步步瘫痪服务器的TCP三次握手的先天漏洞:SYN报……

    程序编程 2026年11月11日
    300
  • AI物联网平台建设方案有哪些核心步骤?

    2026年AI物联网平台建设的核心在于构建“端-边-云”协同的智能架构,通过标准化协议打通数据孤岛,并利用大模型技术实现从数据采集到自主决策的闭环,从而显著降低运维成本并提升业务响应速度,为什么传统物联网平台在2026年不再适用过去十年,物联网平台主要解决的是“连接”问题,即如何让成千上万的设备在线,但在202……

    2026年6月7日
    3100
  • 如何评估上海GPU服务器的算力水平,哪家性价比高?

    上海GPU服务器的算力水平,看的是“可用算力”而不是“标称算力”——评估一台机器的真实性能,要从芯片型号、显存带宽、互联拓扑、实际跑分四个维度综合判断,纸面配置好看不等于训练跑得快,很多朋友来问我“上海哪家GPU服务器靠谱”,我先不急着推荐,因为不懂评估标准,租贵了是小事,跑不动才是真麻烦,上海GPU服务器算力……

    2026年10月12日
    300
  • AIPL建模如何操作?AIPL模型怎么搭建步骤详解

    AIPL建模是品牌实现全域消费者资产运营的核心方法论,其本质是通过量化消费者从认知到忠诚的全链路行为,构建可度量、可优化的营销闭环,该模型将消费者旅程划分为认知、兴趣、购买、忠诚四个阶段,帮助品牌精准识别用户状态,制定差异化策略,最终提升转化效率与生命周期价值,AIPL模型的四阶段解析认知阶段用户首次接触品牌信……

    2026年3月10日
    14900
  • 美国VPS测评:实测体验与数据对比

    2026 年选择美国 VPS 的核心结论是:若追求极致性价比与轻量级部署,选择位于达拉斯或凤凰城的 NVMe SSD 架构节点;若需处理高并发跨境业务,则必须锁定洛杉矶或纽约具备 BGP 多线优化的企业级节点,且价格区间应严格控制在 20-50 美元/月以平衡性能与成本,2026 年美国 VPS 市场格局与核心……

    2026年5月11日
    4600
  • r730服务器风扇转速怎么调,如何降低噪音?

    R730服务器风扇转速调整,核心答案是:用ipmitool命令强制覆盖自动调速策略,配合温度监控脚本实现手动控速,默认策略下iDRAC会依据CPU和进风口温度动态拉高风扇转速,这是噪音的根源,r730服务器风扇转速调整ipmi:先搞清楚为什么这么吵戴尔PowerEdge R730作为一代经典双路机架服务器,在机……

    程序编程 2026年11月5日
    400

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注