> 技术文档 > 使用git上传文件到别人的远程仓库github、gitee等(详细)_git提交到远程仓库命令

使用git上传文件到别人的远程仓库github、gitee等(详细)_git提交到远程仓库命令


前言


本文章聚焦于使用 Git 上传文件至他人 GitHub 远程仓库指定分支的操作,涵盖了连接远程仓库、分支管理、SSH 密钥配置等核心内容。通过实际操作步骤和错误排查,帮助读者顺利完成文件上传,为高效使用 Git 进行代码协作提供了实用指导。

1. 确保你是在英文名的管理员下运行该计算机,否则后续可能会使ssh密钥的生成错误

检查:

2. 默认你已经安装了git

3. 本文使用github作为例子,其他网站同样类似操作,可能细节有些许不一样

正文


首先,连接 GitHub 远程仓库有 SSH 和 HTTPS 两种方式:

SSH 方式

优点:配置好 SSH 密钥后,操作远程仓库时无需每次输入用户名和密码,使用更便捷 ,且安全性较高。

缺点:初次配置相对复杂,需生成密钥对并在 GitHub 账户中添加公钥 。

适用场景:长期使用,对操作便捷性和安全性要求较高的情况。

HTTPS 方式

优点:无需额外配置密钥,直接使用。

缺点:每次与远程仓库交互(如拉取、推送代码)时,都需要输入 GitHub 的用户名和密码,不太方便 ,且密码在网络传输中有一定安全风险。

适用场景:临时、偶尔连接远程仓库,或不方便配置 SSH 密钥的情况。

使用方式:获取仓库的 HTTPS 地址,在git clonegit push等操作中使用该地址,如

git clone https://github.com/username/repository.git 

本文选择SSH,这也是更为推荐的一种方式

一、配置ssh密钥

1. 打开git bash

进入资源管理器任意一个目录,在空白处右键->显示更多选项->Open Git Bash here

2. 创建密钥

执行代码,查看你是否存在.ssh目录

cd ~/.ssh

如果不存在则创建目录

mkdir ~/.ssh

随后进入创建好的目录

cd ~/.ssh

输入命令创建ssh密钥,双引号里的内容修改为你的github邮箱

ssh-keygen -t rsa -C \"你的邮箱\"

显示如上,则密钥已经在本地生成成功,去本地资源管理器查看

第一个id_rsa类型为文件的是私钥二个文件类型为Microsoft Public的为公钥(文件及后缀名为id_rsa.pub这也是我们要使用到的密钥),详细如下:

id_rsa:这是 SSH 密钥对中的私钥文件。私钥就像是一把只有你自己拥有且需要妥善保管的钥匙,它必须严格保密,不能泄露给任何人。因为一旦私钥泄露,他人就可以假冒你的身份来访问与该密钥关联的资源。在使用 SSH 协议进行身份验证时,私钥用于对数据进行签名,服务器会使用对应的公钥来验证签名的有效性,以此确认你的身份。

id_rsa.pub:这是 SSH 密钥对中的公钥文件。公钥是可以公开分享的,你可以将其放置在任何需要进行身份验证的服务器上。服务器会使用公钥来验证你使用私钥进行的签名是否正确,从而确认你是否是私钥的合法持有者。

3. 打开密钥并且复制粘贴到github

打开id_rsa.pub,全选复制

打开github的settings(设置),选择SSH and GPG keys(SSH和GPG密钥),Title(标题)是自定义的,Key type(密钥类型)默认选择Authentication Key(身份验证密钥),把复制的ssh密钥粘贴到Key(钥匙)中,点击Add SSH key(添加SSH密钥)完成。

二、连接远程仓库

1. 进入待上传文件的目录

进入到需要上传文件的目录中,该目录将成为本地仓库,即里面的文件将于github远程仓库里的文件紧密联系

2. 打开git bash

这是一个为 Windows 操作系统设计的工具,它能让用户在 Windows 环境下使用类 Unix 风格的命令行环境来操作Git

在空白处右键->显示更多选项->Open Git Bash here

3. 初始化仓库

git init

可看到有个被隐藏起来的.git文件夹,它是 Git 管理项目版本的核心所在,存储了项目的所有版本信息和元数据。

4. 连接远程仓库

在命令 git remote add origin 后面复制你想要远程连接的仓库链接

示例:

所以我的代码为:

git remote add origin git@github.com:DrMickeyChen/GUETaicompetition.git

5. 连接分支(如果代码上传到主支main则跳过此步)

由于我想要连接分支web-backend,所以我要确保本地有对应分支

若本地已有分支:使用命令切换到该分支。

git checkout web-backend

若本地没有分支:基于已有分支(如master)创建,执行命令创建web-backend分支并自动切换过去。

git checkout -b web-backend

6. 添加代码(修改)到暂存区

在本地第一次上传代码或对代码完成修改后,使用 git add 命令将改动添加到暂存区。

添加所有改动(第一次添加所有代码):执行

git add .

添加指定文件:比如要添加index.js,则执行

git add index.js

7. 提交改动到本地仓库

使用 git commit 命令提交暂存区的改动到本地仓库,需附上有意义的提交信息

git commit -m \"The final code at the back end\"

将\"The final code at the back end\"替换为自己的修改描述 。

8. 拉取远程分支更新

使用 git pull 命令把远程仓库分支拉取到本地

git pull --rebase origin web-backend

这里推荐使用 --rebase 选项,它能使提交历史更清晰

9. 推送代码到远程分支

使用 git push 命令将本地分支的代码推送到远程仓库的分支。

git push -u origin web-backend

-u 选项用于建立本地分支和远程分支的跟踪关系,后续推送可直接用

git push

成功推送!!!