git上传代码教训总结

第一次上传代码的时候,git就弄了大半天,犯了很多错误,总结出来给大家参考一下。

首先要了解git上传的一个大致步骤,具体的关于ssh等内容按照步骤即可将本地仓库和远程仓库链接起来,关键是在这之后的步骤。大致的过程为:1、首先要在本地创建仓库;2、将要提交的内容上传到缓冲区;3、将缓冲区的内容push到远程仓库中。三者分别对应add、commit和push过程。

来看看犯的第一个错误,有的博客上介绍的步骤比较简略,导致我理解错误,要上传到缓存区,需要认证身份,认证身份的指令应该是:

$ git config --global user.name 你的用户名

$ git config --global user.email 邮箱@qq.com

没有引号!user我也打错了!your_email@要删除!

关于是否上传成功到缓冲区,可以用git status或者git log看看上传经过:

如图,可见我上传到缓冲区已经成功了。

再来看看第二个问题。

出现第二个错误,这个错误是没有找到远程仓库目录,没办法直接push上去。要将远程仓库添加上来,我输入了这个指令:

结果还是没用:

 

后来发现是我的URL地址输入错了,这个不是我的远程仓库地址,于是修改:

 

此时又报错,说我的远程仓库已经存在。那我们就需要把错误的仓库删掉。

输入指令:$ git remote rm origin

再重新输入添加指令:

$ git remote add origin git@github.com:ComputerScienceHIT/HIT-Lab1-120L021006.git

最后终于成功了:

 以上是我第一次上传犯的种种错误,感觉会有许多新手也踏入相同的坑,发出来给大家踩踩雷,用作参考。

 

<think> 嗯,用户这次提出了一个非常实际的问题——为什么需要把本地代码上传到服务器。结合之前的对话历史,用户最初关心的是SSH连接后的使用场景,后来聚焦到文件传输,现在则想了解背后的原因。看来ta正在系统学习服务器部署的完整流程。 从引用内容来看,用户可能接触过多种上传方式(SCP、Xftp、SVN等),但缺乏对整体逻辑的理解。需要帮ta理清开发到部署的完整链路。值得注意的细节是,用户引用的资料里既有命令行工具(SCP)也有图形化工具(Xftp),说明ta可能在不同环境中工作。 真正核心的原因其实是软件开发的生命周期分离:开发环境(本地)和生产环境(服务器)天然隔离。可以分三层解释:首先是必要性(测试环境差异、资源需求),其次是安全性(统一管理),最后是自动化(CI/CD)。特别是引用[4]提到“产线问题解决后要重新发布”,这直接指向了持续部署的需求。 用户应该是个刚接触部署的开发者,不然不会问这种基础但关键的问题。ta可能经历过直接修改服务器代码的混乱,或者疑惑为什么不能直接在服务器开发。需要着重强调环境隔离的重要性——这是血泪教训换来的最佳实践啊。 另外注意到用户引用了Java/Python项目案例,可以推测ta的工作语言。在回复中加入这些具体技术的例子会更有针对性,比如Java的jar包部署(引用[4])或Python的WSGI服务(引用[2])。 </think> 将本地代码上传到服务器是软件开发与部署的核心环节,主要原因如下: --- ### 一、核心原因:**环境分离与生产部署** 1. **开发与生产环境隔离** - 本地环境用于开发调试,服务器提供标准化的生产环境(如Linux服务器) - 避免因环境差异导致的运行时错误(例如依赖库版本、系统配置) *典型场景:Python项目在Windows开发但需部署到Linux服务器运行[^2]* 2. **资源需求升级** - 本地机器无法承载高并发/大流量访问 - 服务器提供更强的计算能力、网络带宽和稳定性 ```mermaid graph LR A[本地开发机] -->|低性能| B(测试环境) B --> C[代码上传] C -->|高性能| D[生产服务器] ``` --- ### 二、关键操作需求 1. **持续集成/部署(CI/CD)** - 自动化流程:代码提交 → 测试 → 构建 → 上传服务器 → 部署 *引用[4]中通过Xftp上传JAR包实现半自动部署* 2. **多端协同开发** - 团队成员将代码统一上传至服务器版本库(如SVN/Git) *引用[3]演示SVN服务器代码同步流程* 3. **备份与版本控制** - 服务器作为中央代码仓库,防止本地数据丢失 - 保留历史版本便于回滚(`git reset`或SVN版本回溯) --- ### 三、技术实现方式对比 | 方法 | 适用场景 | 优势 | 案例引用 | |---------------------|--------------------------|--------------------------|---------------| | **SCP命令** | 单文件/小型项目快速传输 | 无需额外工具,命令直连 | [^5] | | **SFTP工具(Xftp)** | 图形化批量文件管理 | 可视化操作,支持断点续传 | [^2][^4] | | **版本库同步(SVN)** | 团队协作开发 | 自动冲突解决,版本追踪 | [^3] | | **远程映射磁盘** | Windows服务器文件管理 | 拖拽式操作 | [^1] | > **注**:生产环境推荐使用SCP/SFTP等加密传输协议,避免QQ等非专业工具的数据泄漏风险[^1] --- ### 四、典型应用场景 1. **Web应用部署** ```bash scp -P 22 ./build/*.jar user@server:/opt/app # 上传JAR包[^4] ``` 2. **AI模型服务化** - 本地训练模型 → 上传服务器 → 启动API服务 3. **微服务架构更新** - 仅上传变更模块,避免全量部署(Docker镜像推送同理) ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值