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 发行版参考。

相关推荐
wdfk_prog11 小时前
[Linux]学习笔记系列 -- [drivers][input]input
linux·笔记·学习
七夜zippoe11 小时前
CANN Runtime任务描述序列化与持久化源码深度解码
大数据·运维·服务器·cann
盟接之桥11 小时前
盟接之桥说制造:引流品 × 利润品,全球电商平台高效产品组合策略(供讨论)
大数据·linux·服务器·网络·人工智能·制造
李少兄11 小时前
在 IntelliJ IDEA 中修改 Git 远程仓库地址
java·git·intellij-idea
忆~遂愿12 小时前
ops-cv 算子库深度解析:面向视觉任务的硬件优化与数据布局(NCHW/NHWC)策略
java·大数据·linux·人工智能
湘-枫叶情缘12 小时前
1990:种下那棵不落叶的树-第6集 圆明园的对话
linux·系统架构
Fcy64813 小时前
Linux下 进程(一)(冯诺依曼体系、操作系统、进程基本概念与基本操作)
linux·运维·服务器·进程
袁袁袁袁满13 小时前
Linux怎么查看最新下载的文件
linux·运维·服务器
代码游侠13 小时前
学习笔记——设备树基础
linux·运维·开发语言·单片机·算法
Gary Studio13 小时前
rk芯片驱动编写
linux·学习