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

相关推荐
xflySnail2 小时前
nas服务域名高速访问-DNS+ESA
运维·服务器·esa·无端口访问
赵民勇8 小时前
Linux/Unix中install命令全面用法解析
linux·shell
醇氧8 小时前
【git】WARNING: connection is not using a post-quantum key exchange algorithm.
git
一只程序熊9 小时前
Git不常用操作记录
git
苏宸啊9 小时前
Linux指令篇(一)
linux·运维·服务器
小龙10 小时前
【Git 报错解决】 远程仓库 origin 已存在(`remote origin already exists`)
git·报错
睡不醒的猪儿10 小时前
nginx常见的优化配置
运维·nginx
我要升天!10 小时前
Linux中《网络基础》
linux·运维·网络
国强_dev10 小时前
在数据库开发和运维中的“错误信息误导(Red Herring)”
运维·adb·数据库开发
安科瑞刘鸿鹏1711 小时前
工业自动化系统中抗晃电保护的协同控制研究
运维·网络·嵌入式硬件·物联网