Ubuntu中在终端使用git将代码上传GitHub

本文详细指导如何在Ubuntu系统中使用git将项目上传到GitHub,包括配置用户名、邮箱,生成SSH密钥,创建仓库,添加文件,解决push时的常见错误,如未完成的合并等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Ubuntu中使用git远程上传到GitHub

1 准备工作

1 如果第一次上传代码,需要配置用户名和邮箱!可以在setting-account中修改用户名

pj@pj:$ git config --global user.name "Pj"
pj@pj:$ git config --global user.email "xxx@qq.com"

在这里插入图片描述

2 配置密匙,中间过程默认回车即可

在这里插入图片描述

3 将公匙放入GitHub,以ssh-rsa开头

pj@pj:$ gedit ~/.ssh/id_rsa.pub 	# 公匙
pj@pj:$ gedit ~/.ssh/id_rsa		# 私匙,不需提交

在这里插入图片描述

2 在Github创建一个仓库

在这里插入图片描述

3 开始上传

​ 终端进入我们需要上传项目所在的文件夹,使用git的初始化命令(如果之前已经初始化过,直接跳转remote):

git init		# 初始化一个新的Git仓库

在这里插入图片描述

​ 上传之前,我们需要添加上传的文件,这里我们要上传当前文件夹内的所有文件

git add ./		# 把文件添加到暂存区

在这里插入图片描述

​ 查看查看当前项目的分支以及添加文件的情况

git status

在这里插入图片描述

​ 提交暂存区的文件到版本库

git commit -m "提交项目相关信息"	# 把暂存区内容提交到本地仓库

在这里插入图片描述

​ 添加一个远程仓库,命名为origin

git remote add origin git@github.com:pj66666/NeuroSLAM.git
# 添加远程仓库地址,如果显示fatal: 远程 origin 已经存在。那么先删除本地仓库和远程仓库的连接,再进行连接
git remote rm origin
git remote add origin git@github.com:pj66666/NeuroSLAM_C-.git

在这里插入图片描述

​ 添加文件到远程仓库

git remote set-url origin git@github.com:pj66666/NeuroSLAM_C-.git

​ 使用push指令进行上传,再次刷新GitHub即可发现上传成功。

git push -u origin master	# git push <远程仓库名> <远程分支名> 这里origin是默认远程仓库别名,master是分支名

在这里插入图片描述

git tag -a v1.0 -m "Version 1.0"		# 创建一个标签,1.0版本
git push origin v1.0		# 	将刚刚创建的标签推送到远程仓库   命令格式	git push origin <版本号>		

在这里插入图片描述

补充:关于后续版本的上传问题前面步骤照做,因为已经有了相关的分支master,所以这里不需要git push -u origin master,直接上传相应的版本即可!

git tag -a v1.1 -m "version 1.1"
git push origin v1.1

在这里插入图片描述

git checkout -b <新分支名>   # 在仓库创建一个新的分支
git push origin <新分支名>	# 其余同理

4 报错

4.1 报错1

报错记录:git push 失败

To github.com:pj66666/RF2o_detailed_comment.git
 ! [rejected]        master -> master (fetch first)
error: failed to push some refs to 'git@github.com:pj66666/RF2o_detailed_comment.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

解决方案

git pull origin master --allow-unrelated-histories 
git status
git add .
git commit -m "Merge remote-tracking branch 'origin/master'"
git push origin master 

4.2 报错2

error: You have not concluded your merge (MERGE_HEAD exists).
hint: Please, commit your changes before merging.
fatal: Exiting because of unfinished merge.

错误表明在 Git 中有一个未完成的合并(merge)操作,而你试图进行其他的操作,如推送更改之前,必须先完成或取消这个合并

解决方法

完成或取消合并:

如果你想完成这个合并,解决所有可能存在的冲突,然后使用以下命令完成合并:

git commit -m “Complete merge”

如果你想取消合并,使用以下命令:

git merge --abort

推送更改:
一旦合并完成或取消,你可以再次尝试推送你的更改:

git push origin master

5 私有仓库增加协作者

在输入框输入对方的GitHub名字或者注册邮箱即可。添加后,把邀请链接发给对方,对方打开同意即可。最后,对方(协作者)可以在其setting -> Repositories最底部看到这个仓库。在github首页是看不到的
在这里插入图片描述

### 如何在 Ubuntu 上通过 VSCode 使用 Git 上传代码 #### 安装必要的软件包 为了能够在 Ubuntu 系统上的 VSCode 中使用 Git 功能,需要先安装 Git 并配置全局设置。可以通过终端执行以下命令来完成这些操作: ```bash sudo apt update && sudo apt install git -y ``` 接着,在终端中运行下面的指令来进行基本的 Git 配置[^2]: ```bash git config --global user.name "你的用户名" git config --global credential.helper store ``` 这一步骤确保了每次提交时都会附带正确的身份信息。 #### 初始化本地仓库并克隆远程库 如果还没有创建新的项目文件夹,则可以按照如下方式创建一个新的工作区,并从中获取远程存储库的内容: ```bash mkdir ~/my_project_folder cd ~/my_project_folder git clone https://github.com/your-repo-url.git . ``` 上述命令会在当前目录下初始化一个名为 `my_project_folder` 的新文件夹作为项目的根路径,并从给定 URL 复制最新的版本控制数据到此位置. #### 打开 VSCode 进行编辑与提交更改 启动 Visual Studio Code 应用程序之后,选择左侧活动栏中的源控件图标(Source Control),这里会显示所有未跟踪以及已修改过的文件列表。对于想要加入下次提交范围内的改动项,只需简单地标记它们即可将其添加至暂存区域;反之亦然,取消勾选则表示放弃此次变更记录[^3]。 当准备好要保存所做的全部更新后,可以在消息框内填写描述性的日志条目,随后按下回车键确认提交动作。此时所有的变动都将被安全地储存在历史记录之中等待进一步处理。 #### 推送最新版次到远端服务器 最后一步就是将刚刚所作的一切推送到 GitHub 或其他托管平台之上共享出去。同样是在同一个面板里找到“...”按钮展开更多选项菜单,选取其中一项叫做 Publish to Repository 或 Push Changes 来实现这一目标。如果是首次发布该分支的话,可能还会提示输入账号密码验证身份。 一旦完成了以上流程,就意味着成功实现了基于 Linux 发行版环境下的跨平台协作开发模式!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值