上传项目到github上

在github上先创建一个空仓库

在github上新建一个仓库,点击你的头像,然后在出来的侧边栏选择 Your repositories

点击New创建一个新的仓库,即repository

输入你的仓库名称,选择public 或者 private.

尽量不要勾选README

如果你的本地项目有readme文件的话,你在push的时候可能会有冲突,就需要--force处理

public是公开的,其他人也可以看到你的项目

private是私人的,其他人无法看到你的项目

从WSL上传代码

  1. 初始化本地仓库
    在WSL中,打开你的代码所在目录。
python 复制代码
cd path/to/your/project

比如我想把我的TEXTurePaper文件夹下的所有文件都上传

初始化一个新的Git仓库。

python 复制代码
git init
  1. 添加所有文件到新的Git仓库
python 复制代码
git add .

注意:这会添加当前目录和子目录中的所有文件。如果你只想添加特定文件或文件夹,可以指定它们(如:git add 或 git add <foldername>/)。

  1. 提交您的代码
python 复制代码
git commit -m "Initial commit"

4.添加Github仓库为远程仓库

从Github项目页面复制"Clone with HTTPS"或"Clone with SSH"链接。

python 复制代码
git remote add origin <Copied-URL>

例如:

python 复制代码
# 使用HTTPS
git remote add origin https://github.com/username/project.git

或如果你使用SSH这里建议使用SSH!!!

python 复制代码
# 建议你先执行"可能遇到的错误中的  1中的选择2  "
# 使用SSH
git remote add origin git@github.com:username/project.git
  1. 推送代码到Github
python 复制代码
# git push -u origin master
git push -u origin main

这将推送代码到Github上名为"main"的分支。

  1. 验证和完成
    打开Github,刷新项目页面,您应该能看到已上传的代码。

这样您就成功地从WSL环境上传了代码到Github。

可能遇到的各种错误

python 复制代码
(base) aaa@ASUS:~/ML/paper/TEXTurePaper$ git commit -m "Initial commit"

*** Please tell me who you are.

Run

  git config --global user.email "you@example.com"
  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: empty ident name (for <aaa@ASUS.localdomain>) not allowed

这个错误是因为Git需要知道提交是由谁进行的,所以它需要您设置全局或者针对当前仓库的用户名和邮箱地址。

这里是解决步骤:

选择1:

设置全局级别的用户名和邮箱(不建议!!! )

如果您希望在所有Git仓库中使用同一名称和邮箱,您可以运行以下命令:

python 复制代码
git config --global user.email "you@example.com"
git config --global user.name "Your Name"

选择2:

设置仓库级别的用户名和邮箱

如果您只想针对当前的Git仓库设置用户名和邮箱,您可以在同一命令中省略--global选项:

python 复制代码
git config user.email "you@example.com"
git config user.name "Your Name"

同样地,将其中的"you@example.com"和"Your Name"替换成您的实际邮箱地址和姓名。

提交代码

完成这些设置后,您就可以再次尝试提交代码:

python 复制代码
git commit -m "Initial commit"

这次应该不会出现之前的错误信息了。然后,您可以继续之前的步骤,将代码推送到GitLab。

python 复制代码
(base) aaa@ASUS:~/ML/paper/TEXTurePaper$ git remote add origin https://git.gxar.com/demo/TEXTure.git
fatal: remote origin already exists.

这个错误表示在当前Git仓库中,已经存在名为 origin 的远程仓库。如果你确定要用新的URL替换现有的origin,可以先删除旧的,然后添加新的。

查看现有的远程仓库

首先,你可以查看所有关联的远程仓库以及它们的URL:

python 复制代码
git remote -v

删除现有的origin

如果你确定要替换,可以先删除现有的origin:

python 复制代码
git remote remove origin
# 或者使用
git remote rm origin

添加新的origin

然后,你就可以使用新的URL添加origin了:

python 复制代码
git remote add origin https://git.gxar.com/demo/TEXTure.git

或者,直接更改origin的URL

如果你不想删除现有的origin,也可以直接更新其URL:

python 复制代码
git remote set-url origin https://git.gxar.com/demo/TEXTure.git

这样,你就成功地更改了远程仓库的URL。之后,你可以继续推送代码到新设置的origin。

python 复制代码
(base) aaa@ASUS:~/ML/paper/TEXTurePaper$ git push -u origin master
error: src refspec master does not match any
error: failed to push some refs to 'https://git.gxar.com/demo/TEXTure.git'

检查当前分支

首先,确保你在你想推送的分支上(通常是master或者main)。你可以使用下面的命令来查看所有的分支:

python 复制代码
git branch
python 复制代码
(base) aaa@ASUS:~/ML/paper/TEXTurePaper$ git remote add origin git@git.gxar.com:demo/TEXTure.git
fatal: remote origin already exists.

这个错误表明一个名为 origin 的远程仓库已经存在在您的本地Git配置中。如果您想添加一个新的远程仓库并将其命名为 origin,您有两个选项:

选项一:删除旧的远程仓库

a 首先,使用以下命令查看当前的远程仓库设置:

python 复制代码
git remote -v

这会列出所有远程仓库以及它们的URL。

b 然后,使用以下命令删除已有的 origin:

python 复制代码
git remote remove origin

c 最后,添加新的 origin:

python 复制代码
git remote add origin git@git.gxar.com:demo/TEXTure.git

选项二:使用不同的名字

如果您不想删除旧的 origin,您可以选择一个不同的名字为您的新远程仓库。

python 复制代码
git remote add new_origin git@git.gxar.com:demo/TEXTure.git

之后,您可以使用这个新的名字(new_origin)来进行 push、pull 等操作。

例如:

python 复制代码
git push -u new_origin main

选择一个方案后,按照对应的步骤进行,应该就可以解决您的问题。

python 复制代码
(base) aaa@ASUS:~/ML/paper/TEXTurePaper$ git commit -m "Initial commit"
On branch main
nothing to commit, working tree clean

这个消息表示在您尝试进行Git提交(commit)时,Git没有发现任何未提交(uncommitted)的改动。换句话说,您的工作目录是"干净的",意味着您没有进行任何改变,或者您已经将所有改动添加(staged)并提交(committed)了。

这里有几种可能的情况:

没有新文件或改动:如果您刚刚初始化了一个新的Git仓库,或者没有做出任何改变,那么Git自然没有任何内容可以提交。

改动已经被提交:如果您之前已经添加并提交了所有改动,那么工作目录也会是干净的。

如何解决

如果您确实有需要提交的新文件或改动,确保首先使用git add <file>命令来添加它们。例如:

python 复制代码
git add myfile.txt

或添加所有改动:

python 复制代码
git add .

然后尝试再次提交:

python 复制代码
git commit -m "Your commit message"

如果您不确定是否有任何未添加或未提交的改动,您可以使用以下命令查看:

python 复制代码
git status

这将显示所有未添加(unstaged)或未提交(uncommitted)的改动。

如果git status显示您的工作树是干净的,但您确信应该有一些改动需要提交,那么您可能在错误的目录或分支中。确保您处于正确的工作目录并且已经切换到了包含您改动的分支。

  1. 使用SSH URL!!!
    我他妈之前一直是使用的HHTPS,我还以为是用的SSH:
python 复制代码
git remote add origin https://git.gxar.com/demo/demo-texture.git我使用的是这个,这个应该是SSH吧

实际上,上面使用的URL https://git.gxar.com/demo/demo-texture.git 是一个HTTPS URL,而不是SSH URL。

HTTPS和SSH是两种不同的协议,用于与远程Git仓库进行通信:

HTTPS URL 通常看起来像这样: https://<hostname>/<user>/<repository>.git。

SSH URL 通常看起来像这样: git@<hostname>:<user>/<repository>.git。

如果您想使用SSH,您需要找到SSH形式的Git仓库URL。这通常可以在GitLab仓库的"Clone"或"Clone Repository"部分找到。

在找到SSH URL后,您可以使用以下命令更改远程仓库的URL:

python 复制代码
git remote set-url origin git@git.gxar.com:demo/demo-texture.git

注意:在使用SSH之前,确保您已生成SSH密钥并添加到GitLab账户,还要确保SSH agent运行并已加载了您的SSH密钥。这些步骤对于SSH身份验证是必要的。

错误消息error: src refspec main does not match any通常表示尝试推送到远程仓库的分支(在这里是main)在本地仓库中并不存在,或者你没有提交任何内容到这个本地分支。

然后我看了一下,原来github上初始的化的分支名叫master

下面是一些解决该问题的常见步骤:

a. 确认当前分支

首先,使用git branch查看所有本地分支和当前活动分支(会被标记为绿色和/或前面有一个*符号)。这样你可以确认main分支是否存在。

上面说明main分支不存在,即我的本地仓库使用的是master分支,而我尝试推送到的是main分支,所以出现了不匹配的问题。

我选择重命名本地分支

如果你执行了上面截图中的重命名分支,那你就不需要执行下面的bcd部分了

b. 创建并切换到main分支(如果不存在)

如果你看不到main分支,你可以创建一个新的main分支并切换到该分支:

python 复制代码
git checkout -b main

或者,如果main分支已经存在:

python 复制代码
git checkout main

c. 添加和提交改动

确保你已经添加了文件到暂存区,并且已经进行了提交:

python 复制代码
git add .
git commit -m "Your commit message"

d.再次推送

现在再次尝试推送到远程仓库:

python 复制代码
git push -u origin main

这应该解决你遇到的问题。

注意: 如果你是在一个全新的、空的仓库中进行操作,确保至少有一个文件(通常是README)已经被添加和提交,否则你可能会再次遇到这个错误。

这个错误表明远程仓库的main分支包含了一些你本地没有的提交。这通常是因为其他人(或者是你在另一个地方)已经推送了一些更改到这个分支。比如你在github上创建仓库的时候你勾选了readme.md文件,但是你的本地也有readme.md文件,那就会出现上述问题

由于这个仓库只有我一个人使用,我就选择的方法三
以下是解决这个问题的一些常见方法:


相关推荐
木心4 小时前
Git基本操作快速入门(30min)
git·github
一个不秃头的 程序员4 小时前
代码加入SFTP JAVA ---(小白篇3)
java·python·github
逸_4 小时前
dify工作流+github actions实现翻译并创建PR
gpt·github·dify
布兰妮甜7 小时前
使用GitHub Pages部署静态网站:简易指南
github·pages
董厂长7 小时前
VS2022 无法使用GitHub账户登录/无法使用copilot 解决方案
github·copilot
油泼辣子多加7 小时前
2024年12月25日Github流行趋势
github
uhakadotcom11 小时前
代码人生-精选文章周刊
前端·后端·github
小华同学ai16 小时前
vue-office:Star 4.2k,款支持多种Office文件预览的Vue组件库,一站式Office文件预览方案,真心不错
前端·javascript·vue.js·开源·github·office
WebCandy16 小时前
Github Copilot:已免费,速回归!!!
编辑器·github·copilot·ai编程
墨理学AI1 天前
GitHub 桌面版配置 |可视化界面进行上传到远程仓库 | gitLab 配置【把密码存在本地服务器】
gitlab·github·github 桌面版