当前位置: 首页 > web >正文

Git 基础操作系列2: 本地项目上传至git仓库(gitee / gitlab / github)

一、核心步骤

若要把本地代码推送到Gitee上的新建远程分支,可按以下步骤操作:

1. 初始化本地仓库

首先要确保本地代码目录已初始化为Git仓库。在命令行中进入该目录,然后执行如下命令:

git init

2. 添加文件并提交

把本地代码添加到暂存区,接着提交到本地仓库。运行以下命令:

git add .
git commit -m "Initial commit"

3. 关联远程仓库

在Gitee上新建一个仓库,然后在本地仓库中关联该远程仓库。使用以下命令:

git remote add origin <Gitee仓库的SSH或HTTPS地址>

要把<Gitee仓库的SSH或HTTPS地址>替换成我们在Gitee上创建的仓库的实际地址。

4. 创建并切换到新分支

如果想把代码推送到一个新的远程分支,需先在本地创建并切换到该分支。执行以下命令:

git checkout -b <新分支名>

<新分支名>替换成想要的分支名称。

5. 推送代码到远程新分支

最后,将本地代码推送到Gitee上的新分支。运行以下命令:

git push -u origin <新分支名>

此命令会把本地的<新分支名>推送到远程仓库,并设置该分支跟踪远程分支。

完整示例

假设在Gitee上新建了一个名为my-project的仓库,本地代码目录名为my-project-dir,想把代码推送到名为feature-branch的新分支,完整的命令如下:

cd my-project-dir
git init
git add .
git commit -m "Initial commit"
git remote add origin git@gitee.com:yourusername/my-project.git
git checkout -b feature-branch
git push -u origin feature-branch

yourusername替换成我们的Gitee用户名。

按上述步骤操作,就能把本地代码推送到Gitee上的新建远程分支了。

二、遇到的问题

问题1:

$ git remote add origin git@gitee.com:dc/supplier/data-analysis.git
error: remote origin already exists.

Q1解决方案:

当看到 error: remote origin already exists. 这个错误信息时,意味着我们的本地仓库已经关联了一个名为 origin 的远程仓库。如果想要更新远程仓库的地址,或者只是想重新关联远程仓库,可以使用以下几种方法:

方法一:修改现有的远程仓库地址

如果想修改现有的 origin 远程仓库地址,可以使用 git remote set-url 命令。以下是具体操作:

git remote set-url origin git@gitee.com:dc/supplier/data-analysis.git

上述命令将 origin 远程仓库的地址更新为我们指定的新地址。

方法二:删除现有的远程仓库并重新添加

如果想要彻底删除现有的 origin 远程仓库,然后重新添加,可以按以下步骤操作:

# 删除现有的 origin 远程仓库
git remote remove origin
# 重新添加远程仓库
git remote add origin git@gitee.com:dc/supplier/data-analysis.git

方法三:使用其他名称添加远程仓库

如果我们不想覆盖现有的 origin 远程仓库,也可以使用其他名称来添加远程仓库,例如 gitee

git remote add gitee git@gitee.com:dc/supplier/data-analysis.git

之后,当推送代码时,需要使用新的远程仓库名称,例如:

git push -u gitee <分支名>

可以根据自己的需求选择合适的方法来解决问题。

问题2:

$ git push -u origin f_hotfix_indexerror_20250507
git@gitee.com: Permission denied (publickey).
fatal: Could not read from remote repository.Please make sure you have the correct access rights
and the repository exists.

Q2解决方案:

当遇到 git@gitee.com: Permission denied (publickey). 错误时,这通常表示我们在使用 SSH 协议连接到 Gitee 仓库时,由于公钥验证失败而无法获得访问权限。可以按照以下步骤来解决这个问题:

1. 检查 SSH 密钥是否存在

首先,需要检查本地是否已经生成了 SSH 密钥。在终端中执行以下命令:

ls -al ~/.ssh

如果输出中包含 id_rsa.pubid_ed25519.pub 等文件,说明我们已经生成了 SSH 密钥。如果没有这些文件,需要生成新的 SSH 密钥。

2. 生成新的 SSH 密钥(如果需要)

如果没有 SSH 密钥或者想要生成新的密钥,可以执行以下命令:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

在执行过程中,可以按照提示设置密钥的保存路径和密码。

3. 将 SSH 公钥添加到 Gitee

  • 复制公钥内容:使用以下命令复制公钥内容:
cat ~/.ssh/id_rsa.pub
  • 登录 Gitee:打开 Gitee 网站并登录我们的账户。
  • 添加 SSH 公钥:进入个人设置页面,选择“SSH 公钥”,将复制的公钥内容粘贴到相应的输入框中,并设置一个公钥标题,然后点击“确定”。

4. 测试 SSH 连接

添加公钥后,我们可以使用以下命令测试 SSH 连接:

ssh -T git@gitee.com

如果看到类似以下的输出,说明连接成功:

Hi username! You've successfully authenticated, but Gitee does not provide shell access.

5. 再次尝试推送代码

完成上述步骤后,再次尝试推送代码:

git push -u origin f_hotfix_indexerror_20250507

通过以上步骤,应该能够解决 SSH 公钥验证失败的问题,并成功推送代码到 Gitee 仓库。

http://www.xdnf.cn/news/4611.html

相关文章:

  • QMK开发环境搭建指南:Eclipse和VS Code详解
  • 书法机构用的教务管理系统
  • 【Linux学习笔记】基础IO之理解文件
  • vue修改了node_modules中的包,打补丁
  • 论坛系统测试报告
  • 基于Transformer的多资产收益预测模型实战(附PyTorch实现与避坑指南)
  • OpenCV定位地板上的书
  • 中介者模式(Mediator Pattern)详解
  • 前端面经--网络通信与后端协作篇--XMLHttpRequest、axios、fetch、AbortController
  • 代理协议解析:如何根据需求选择HTTP、HTTPS或SOCKS5?
  • MySQL概念简介
  • C++ stl中的vector的相关用法 迭代器失效问题
  • Linux中的线程安全与线程同步详解
  • MySQL的深度分页如何优化?
  • NetSuite 销售订单折扣项目相关设置
  • 若依前后端分离项目中可以删除哪些原若依有的?
  • mysql中执行select命令的顺序
  • PE文件结构(导入表)
  • 【AI论文】
  • JavaSE核心知识点01基础语法01-05(字符串)
  • 进程与线程详细介绍
  • 如何使用 QuickAPI 连接 PostgreSQL 数据库并将PostgreSQL数据发布成API?
  • 嵌入式开发学习日志Day15
  • AI恶魔之眼使用说明书
  • Spring Bean 的创建流程
  • 分布式id的两大门派!时钟回拨问题的解决方案!
  • 单调栈原理
  • vtkSmartPointer<vtkPolyData> 常用的函数方法
  • Spring Boot 多数据源事务管理
  • async/await的另一种食用方法