Linux文件上传git

摘要 :在 Linux 云服务器开发过程中,将本地代码同步至代码托管平台是必不可少的操作。本文将以 CentOS 7 系统为例,从环境配置开始,详细介绍将本地文件上传至 Gitee/GitHub 的完整流程,并提供两种通用的上传方案。


一、 环境准备与配置

在进行代码上传之前,我们需要先在 CentOS 7 服务器上安装 Git 并配置与 Gitee/GitHub 的安全连接。

1. 安装 Git

CentOS 7 的默认源中包含了 Git,可以直接使用 yum 进行安装。

bash 复制代码
sudo yum -y install git

安装完成后,验证是否安装成功:

bash 复制代码
git --version

2. 配置全局用户信息

Git 要求在提交代码时必须提供用户名和邮箱,这相当于给代码署名。

请将下方命令中的内容替换为您自己的信息。

bash 复制代码
git config --global user.name "你的名字或昵称"
git config --global user.email "你的邮箱地址"

若这一步不知道自己git仓库的用户名邮箱可在仓库页面进行查看。

以Gitee示例:

3. 配置 SSH 公钥

为了避免每次推送代码都输入账号密码,且解决 CentOS 7 下 HTTPS 连接可能出现的 SSL 证书报错问题,强烈建议使用 SSH 方式连接。

第一步:生成密钥

在终端执行以下命令,连续按 3 次回车即可:

bash 复制代码
ssh-keygen -t ed25519 -C "Git SSH Key"
  • -t key 类型
  • -C 注释

第二步:查看生成的 SSH 公钥和私钥

bash 复制代码
ls ~/.ssh/

输出:

第三步:获取公钥内容

查看并复制生成的公钥内容(以 ssh-rsa 开头的长字符串):

bash 复制代码
cat ~/.ssh/id_ed25519.pub

输出,如:

bash 复制代码
ssh-ed25519 AAAA***5B Gitee SSH Key

第四步:在 Gitee/GtHub 添加公钥

gitee添加位置:

GitHub添加位置:


二、 上传方案

根据实际场景,可以选择任意一种方案进行操作。

方案一:原地关联

适用场景:

服务器上已经存在一个包含代码的文件夹,不希望移动文件或重建目录,而是直接将当前文件夹转换为 Git 仓库并同步到远程。

操作步骤:

进入到目录中,按顺序执行以下命令:

1. 初始化仓库

赋予当前目录 Git 管理权限。

bash 复制代码
git init
2. 关联远程仓库

将本地仓库与 Gitee 远程仓库建立连接。

注意 :请将下方地址替换为你真实的 SSH 仓库地址(在 Gitee/GitHub 仓库页面查看)。

bash 复制代码
git remote add origin git@gitee.com:你的用户名/仓库名.git
  1. 拉取并合并远程分支

在推送前,必须先同步远程仓库已有的文件(如 README.md),防止版本冲突。

复制代码
git pull origin master

提示 :CentOS 7 环境下,如果执行此命令后自动进入黑色编辑界面(Vim),请直接输入 :q 并按回车键退出。

  1. 提交并推送
bash 复制代码
git add .
git commit -m "你的内容"
git push -u origin master

方案二:克隆搬运

适用场景:

希望遵循最标准的 Git 协作流程,先从远程仓库 Clone 一个纯净的文件夹,再将原有代码复制进去。此方法最为稳妥,不易出错。

操作步骤:

1.返回上一级目录并克隆

在需要上传文件的上一级目录中输入:

bash 复制代码
cd ..
# 克隆远程仓库,这会自动创建一个名为 linux 的新文件夹(取决于您的仓库名)
git clone git@gitee.com:你的用户名/仓库名.git
2. 迁移代码

将原目录下的需要上传的文件复制到新克隆的目录中。

bash 复制代码
# -r 参数表示递归复制文件夹
cp -r 原文件夹/需要提交的文件 需要提交的的目录(新生成的)/
3. 提交更改

进入新目录,按照标准流程提交。

bash 复制代码
cd 需要提交的目录
git add 提交的文件
git commit -m "你的内容"
4. 推送至远程

由于是克隆下来的仓库,无需再次配置 remote 地址,直接推送即可。

复制代码
git push origin master

本文基于 CentOS 7 环境编写,适用于大多数 Linux 发行版参考。

相关推荐
maosheng11461 小时前
RHCSA的第一次作业
linux·运维·服务器
wifi chicken2 小时前
Linux 端口扫描及拓展
linux·端口扫描·网络攻击
旺仔.2912 小时前
Linux 信号详解
linux·运维·网络
放飞梦想C2 小时前
CPU Cache
linux·cache
Hoshino.413 小时前
基于Linux中的数据库操作——下载与安装(1)
linux·运维·数据库
恒创科技HK4 小时前
通用型云服务器与计算型云服务器:您真正需要哪些配置?
运维·服务器
吴佳浩 Alben4 小时前
GPU 生产环境实践:硬件拓扑、显存管理与完整运维体系
运维·人工智能·pytorch·语言模型·transformer·vllm
播播资源5 小时前
CentOS系统 + 宝塔面板 部署 OpenClaw源码开发版完整教程
linux·运维·centos
源远流长jerry5 小时前
在 Ubuntu 22.04 上配置 Soft-RoCE 并运行 RDMA 测试程序
linux·服务器·网络·tcp/ip·ubuntu·架构·ip
学不完的5 小时前
Docker数据卷管理及优化
运维·docker·容器·eureka