【亲测有用!一站式解决】Git上传出现报错及解决方法整理,git上传github,gi ...

打印 上一主题 下一主题

主题 547|帖子 547|积分 1641

第一次发文,连续学习ing。
总结整理了自己碰到的一些坑,一站式解决各种git上传标题。
如果对你有所资助,不妨动手点个免费的赞哦,收藏不迷路~

目录

1.上传到指定git仓库
1.1在 Git 服务(如 GitHub、GitLab、Bitbucket 等)上创建一个新的空仓库。
1.2 在本地项目中初始化一个 Git 仓库(如果还没有)。
1.3 将本地项目与新创建的远程仓库关联。
1.4 将本地更改提交并推送到新的远程仓库。
注意事项:
疑问
1.【关联仓库】每次新毗连一个仓库就须要新建一个远程仓库吗,还是说直接更换已有远程仓库的URL
1.1更换已有远程仓库的 URL
1.2添加额外的远程仓库(可选)
2.【查看远程仓库信息】如何查看远程仓库信息是否修改成功
2.1查看远程仓库列表
2.2查看远程仓库详细信息
3.【删除远程仓库】我之前的远程仓库已经删除了,我git怎么更新呢
4.【删除远程仓库文件】
5.【如何修改默认分支】
5.1方法一:直接使用git下令
5.2.1方法二:找到git的配置文件 .gitconfig
5.2.2在配置中添加如下图
5.3修改已有分支为main
常见错误
1.本地仓库与新仓库关联时报错
2.未追踪远程分支报错
3.远程分支包罗本地没有的提交
4.(本地分支和远程分支)的汗青记录不相关时
5.本地仓库文件与远程仓库冲突
6.仓库嵌套,远程仓库表现赤色文件格雷码
6.1清理嵌套的 Git 仓库:
6.1.1确认并备份重要数据:
6.1.2删除嵌套的 .git 文件夹:
6.1.2.1打开隐蔽文件
6.1.2.2寻找嵌套仓库.git文件
6.1.3确保主要仓库文件夹不包罗嵌套的 Git 仓库:
6.1.4提交更改到本地仓库:
6.1.5推送更改到远程仓库: 最后,使用以下下令将更改推送到远程仓库:
6.2使用子模块(Submodule)
6.2.1下令
6.2.2添加更改并提交子模块:
6.2.3返回主仓库:
6.2.4更新主仓库记录子模块更改:
6.2.5最后,推送主仓库的更改到远程仓库:
6.3删除远程仓库中的文件
6.3.1删除本地文件并提交更改:
6.3.2推送更改到远程仓库:


1.上传到指定git仓库

要将现有的本地项目上传到一个新的 Git 仓库,有以下步骤:
1.1在 Git 服务(如 GitHub、GitLab、Bitbucket 等)上创建一个新的空仓库。

1.2 在本地项目中初始化一个 Git 仓库(如果还没有)。

如果你的本地项目还没有关联到 Git 仓库,可以使用以下下令在项目目录中初始化一个新的 Git 仓库:
  1. cd /path/to/your/local/project
  2. git init
复制代码
1.3 将本地项目与新创建的远程仓库关联。

将远程仓库 URL 添加为你的项目标远程:
  1. git remote add origin <新远程仓库的URL>
复制代码
注:在 Git 中,origin 是默认的远程仓库名称。
确保将 <新远程仓库的URL> 更换为你新创建的远程仓库的实际 URL。
1.4 将本地更改提交并推送到新的远程仓库。

添加所有更改到暂存区,提交更改并将其推送到新的远程仓库:
  1. git add .
  2. git commit -m "Initial commit"  # 用适当的提交消息替换此处的 "Initial commit"
  3. git push -u origin master  # 将推送到远程仓库的 master 分支,如果要推送到其他分支,只需 "master" 替换为正确的分支名称
复制代码
注意事项:



  • 确保你有权限将更改推送到新的远程仓库。
  • 如果是首次推送,请确保本地的分支名称与远程分支对应,并将远程分支设置为跟踪分支。可以使用 git push -u origin <branch_name> 下令。
疑问*1.【关联仓库】每次新毗连一个仓库就须要新建一个远程仓库吗,还是说直接更换已有远程仓库的URL

在 Git 中,你可以将一个本地仓库关联到多个远程仓库,而不须要每次都新建一个远程仓库。你可以通过
  1. git remote add origin <新远程仓库的URL>
复制代码
下令来添加多个远程仓库,然后在推送或拉取时选择要使用的远程仓库。
已经有一个本地仓库,并且想要将其毗连到另一个远程仓库,可以执行以下步骤:
1.1更换已有远程仓库的 URL

  1. git remote set-url origin <new_remote_repository_URL>
复制代码
将 <new_remote_repository_URL> 更换为新远程仓库的 URL。
这将更新已有远程仓库 origin 的 URL 为新提供的 URL。
1.2添加额外的远程仓库(可选)

如果你希望保存原有的远程仓库,并且想要添加另一个远程仓库,可以使用以下下令:
  1. git remote add <remote_name> <new_remote_repository_URL>
复制代码
将 <remote_name> 更换为你想要使用的远程仓库的名称,<new_remote_repository_URL> 更换为新远程仓库的 URL。
这样,你就可以同时与多个远程仓库保持毗连,并在须要时选择使用哪个远程仓库进行推送和拉取。
2.【查看远程仓库信息】如何查看远程仓库信息是否修改成功

要查看远程仓库的信息是否修改成功,可以使用以下 Git 下令来查抄:
2.1查看远程仓库列表

使用以下下令可以查看你的本地仓库关联的所有远程仓库:
  1. git remote -v
复制代码
这会列出所有远程仓库的名称和对应的 URL。如果你看到了精确的远程仓库名称和更新后的 URL,那么修改就成功了。
2.2查看远程仓库详细信息

也可以查看单个远程仓库的详细信息,比如特定远程仓库的 URL:
  1. git remote show <remote_name>
复制代码
将 <remote_name> 更换为要查看的远程仓库名称。这会表现有关远程仓库的更多详细信息,包括 URL、跟踪的分支等。

3.【删除远程仓库】我之前的远程仓库已经删除了,我git怎么更新呢

如果远程仓库已经被删除,可以更新 Git 本地配置来移除该远程仓库的引用。使用下面的下令可以删除远程仓库的配置:
  1. git remote remove origin
复制代码
这将会移除名为 origin 的远程仓库引用。之后可以添加一个新的远程仓库,方法是使用 git remote add 下令,指向新的远程仓库地址。例如:
  1. git remote add origin <新远程仓库URL>
复制代码
然后使用 git push 下令推送本地更改到这个新的远程仓库。

4.【删除远程仓库文件】

删除远程仓库中的文件步骤:

  • 同步本地仓库与远程仓库:
    1. git pull origin <branch_name>
    复制代码
    这确保了本地和远程仓库的同步。
  • 删除文件并提交更改:
    1. rm <file_name>
    2. git add <file_name> //将已删除的文件添加到提交中
    3. git commit -m "Remove file_name"
    复制代码

  • 推送更改到远程仓库:
    1. git push origin <branch_name>
    复制代码
    这将删除的文件也推送到远程仓库。
记得更换 <file_name> 为你要删除的文件名,<branch_name> 为分支名称。这些步骤将确保删除文件并将更改同步到远程仓库。
5.【如何修改默认分支】

修改默认分支:master -> main
5.1方法一:直接使用git下令

  1. git config --global init.defaultBranch main
复制代码
5.2.1方法二:找到git的配置文件 .gitconfig


5.2.2在配置中添加如下图


然后这样当我们使用git init初始化某个项目时,默认就会使用main作为主分支
5.3修改已有分支为main

1.切换到现主分支master
2.输入git下令
  1. git branch -M main
复制代码
-M:移动或者重定名当前分支
常见错误

1.本地仓库与新仓库关联时报错

出错机遇:
1.可能将本地仓库与新远程仓库关联时
报错代码:
  1. $ git remote add Project_ZhaoXXXX git@git.XXXX.cn:XXXX-aigc/projectzhaoXXXX/XXXX.git
  2. error: remote Project_XXXX already exists.
复制代码
该错误表明名为 Project_ZhaoXXXX的远程仓库已经存在于你的本地 Git 仓库中。
解决:
如果想更新现有远程仓库的 URL,可以使用以下下令:
  1. git remote set-url Project_XXXX git@git.XXXX.cn:XXXX-aigc/projectzhaoXXXX/zhaoXXXX.git
复制代码
这会更新名为 Project_ZhaoXXXX 的远程仓库的 URL 为新提供的 URL。请确保将下令中的 git@git.XXXX.cn:XXXX-aigc/projectzhaoXXXX/zhaoXXXX.git 更换为你想要设置的远程仓库的精确 URL。
2.未追踪远程分支报错

报错表现:
  1. $ git push
  2. fatal: The current branch main has no upstream branch.
  3. To push the current branch and set the remote as upstream, use
  4.     git push --set-upstream origin main
  5. To have this happen automatically for branches without a tracking
  6. upstream, see 'push.autoSetupRemote' in 'git help config'.
复制代码
这个提示表明当前的分支没有追踪远程分支。
解决:
将当前分支推送到远程并与远程分支建立关联,可以使用下令:
  1. git push --set-upstream origin main
复制代码
这会将本地的 main 分支推送到远程仓库,并且建立追踪关系,使得以后的 git push 操作可以直接使用不带参数的 git push。
3.远程分支包罗本地没有的提交

报错表现:
  1. $ git push --set-upstream origin main
  2. To git.XXXX.cn:XXXX-aigc/projectzhaoXXXX/zhaoXXXX.git
  3. ! [rejected]        main -> main (fetch first)
  4. error: failed to push some refs to 'git.zhixingjidian.cn:XXXX-aigc/projectzhaoXXXX/zhaoXXXX.git'
  5. hint: Updates were rejected because the remote contains work that you do not
  6. hint: have locally. This is usually caused by another repository pushing to
  7. hint: the same ref. If you want to integrate the remote changes, use
  8. hint: 'git pull' before pushing again.
  9. hint: See the 'Note about fast-forwards' in 'git push --help' for details.
复制代码
这个错误通常表示远程分支包罗你本地没有的提交。这种情况可能是其他人或另一个仓库已经对远程分支进行了修改。可以使用以下下令尝试拉取远程的更改并合并到本地分支:
  1. git pull origin main
复制代码
这将尝试将远程分支的更改拉取到你的本地仓库。然后再尝试进行推送:
  1. git push origin main
复制代码
如果 git pull 执行后出现冲突,便须要解决冲突后再进行提交和推送。
4.(本地分支和远程分支)的汗青记录不相关时

报错表现:
  1. $ git pull origin main
  2. warning: no common commits
  3. remote: Enumerating objects: 3, done.
  4. remote: Counting objects: 100% (3/3), done.
  5. remote: Compressing objects: 100% (2/2), done.
  6. remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
  7. Unpacking objects: 100% (3/3), 2.79 KiB | 150.00 KiB/s, done.
  8. From git.XXXX.cn:XXXX-aigc/projectzhaoXXXX/zhaoXXXX
  9. * branch            main       -> FETCH_HEAD
  10. * [new branch]      main       -> origin/main
  11. fatal: refusing to merge unrelated histories
复制代码
"refusing to merge unrelated histories" 错误通常发生在两个分支(本地分支和远程分支)的汗青记录不相关时,导致 Git 拒绝合并这两个分支的提交汗青。
这个错误可能是因为两个不同的仓库有着不同的汗青记录,可能是你在远程仓库创建了一个新的仓库,或者你在本地创建了一个新的仓库,然后尝试将它们合并。
如果你确定想要将两个不相关的汗青记录合并成一个新的提交汗青,可以通过以下下令强制进行合并:
  1. git pull origin main --allow-unrelated-histories
复制代码
这会强制 Git 将两个不同汗青记录的分支进行合并。
但是请注意,合并不相关的汗青记录可能导致混乱,因为这样的合并可能会破坏项目标一致性。最好的方式可能是创建一个新的分支来包罗新的汗青记录。
5.本地仓库文件与远程仓库冲突

报错表现:
  1. $ git pull origin main --allow-unrelated-histories
  2. From git.XXXX.cn:neau-aigc/projectzhaoXXXX/zhaoXXXX
  3. * branch            main       -> FETCH_HEAD
  4. Auto-merging README.md
  5. CONFLICT (add/add): Merge conflict in README.md
  6. Automatic merge failed; fix conflicts and then commit the result.
复制代码
解决:
这个输出表示在合并过程中发生了冲突。发生冲突时,Git 无法自动解决这些标题,因此须要手动解决。
可选择直接选择删除冲突文件再add,commit,
或者如下:

  • 打开辟生冲突的文件(在此示例中是 README.md)。
  • 在文件中找到标记了冲突的部分。这些部分通常包罗 <<<<<<<, =======, 和 >>>>>>> 标记,分别表示两个分支的不同版本。
  • 解决冲突:手动编辑文件,选择想要保存的内容或者合并两个版本的内容。删除不须要的标记行 (<<<<<<<, =======, >>>>>>>)。
  • 保存文件,然后添加并提交解决冲突后的文件:
  1. add README.md
  2. git commit -m "Resolve merge conflict in README.md"
复制代码
完成以上步骤后,就成功解决了合并冲突。接下来你可以继承进行推送或其他操作。
6.仓库嵌套,远程仓库表现赤色文件格雷码

本地文件夹提交到远程仓库后不是文件夹,而是一个赤色图标名字为leetcode_zhaoXXXX @ eefcbf13的文件,也打不开


错误原因:
如果你将本地文件夹提交到远程仓库,但在远程仓库中看到的是一个赤色图标的文件名为 "leetcode_zhaoXXXX @ eefcbf13",这可能是因为你在本地的文件夹里包罗了一个嵌套的 Git 仓库。
通常情况下,提交一个嵌套的 Git 仓库不会以文件夹的形式表现,而是以单个文件的形式表现在远程仓库中。这个文件实际上代表了嵌套的 Git 仓库,包括其汗青记录和内容。
可以考虑以下几种方法:
6.1清理嵌套的 Git 仓库:

删除嵌套的 Git 仓库,并确保主要仓库不包罗嵌套的 Git 仓库。可以通过删除嵌套的 .git 文件夹或者将嵌套的 Git 仓库移出主要仓库文件夹来实现。然后提交并推送这些更改到远程仓库。
步骤:
6.1.1确认并备份重要数据:

在开始任何更改之前,请确保备份了重要的数据,以免不测删除数据导致丢失。
6.1.2删除嵌套的 .git 文件夹:

进入包罗嵌套 Git 仓库的文件夹,并删除名为 .git 的文件夹。在大多数操作系统中,这是隐蔽的文件夹,你可能须要启用表现隐蔽文件选项才能看到它。删除此文件夹将删除嵌套的 Git 仓库汗青记录和设置。
6.1.2.1打开隐蔽文件


6.1.2.2寻找嵌套仓库.git文件

因为赤色格雷码文件名为leetcode_zhaoXXXX @ eefcbf13,我们便去本地这个文件目录下寻找

找到文件

发现隐蔽.git文件

直接删除
6.1.3确保主要仓库文件夹不包罗嵌套的 Git 仓库:

确认主要仓库文件夹中不再包罗嵌套的 .git 文件夹。如果主要仓库文件夹中包罗了嵌套的 Git 仓库,请将该嵌套仓库移出主要仓库文件夹。
6.1.4提交更改到本地仓库:

在完成上述更改后,使用以下下令将更改提交到本地仓库:
  1. git add .
  2. git commit -m "Remove nested Git repository"
复制代码
6.1.5推送更改到远程仓库: 最后,使用以下下令将更改推送到远程仓库:

  1. git push origin main
复制代码

  • 使用子模块(Submodule): 如果想要保持嵌套仓库的独立性,可以将它们设置为 Git 子模块。这样,便可以在主仓库中添加子模块,而远程仓库会精确地处置惩罚它们,并在此中表现文件夹。
  • 删除远程仓库中的文件: 如果已经提交了错误的内容到远程仓库,可以使用 git rm 下令删除文件,然后提交这些更改到远程仓库。但是,请务必确保在执行删除操作之前备份好数据,以免丢失重要内容。
6.2使用子模块(Submodule)

6.2.1下令

要将一个已有的 Git 仓库设置为子模块,可以使用以下下令:
  1. git submodule add <URL_to_repository> path/to/submodule
复制代码
这将在主仓库中添加子模块,并且将子模块所在的路径添加到主仓库中。例如,如果现在有一个名为 submodule-repo 的仓库,可以执行以下操作:
  1. git submodule add https://github.com/example/submodule-repo.git path/to/submodule
复制代码
这将把名为 submodule-repo 的远程仓库作为子模块添加到主仓库中,并且在 path/to/submodule 目录下初始化该子模块。接下来,便须要提交这些更改到主仓库。
而要提交对子模块的更改,须要先辈入子模块目录,执行 git add 和 git commit 下令,然后返回到主仓库并提交主仓库的更改。以下是一般的流程:
6.2.2添加更改并提交子模块:

  1. cd path/to/submodule
  2. # 在子模块中进行修改、添加文件等操作
  3. git add .
  4. git commit -m "Commit message for submodule changes"
复制代码
6.2.3返回主仓库:

  1. cd /path/to/main/repository
复制代码
6.2.4更新主仓库记录子模块更改:

  1. add path/to/submodule  # 或者使用 git add . 来添加所有更改
  2. git commit -m "Updated submodule to latest version"
复制代码
6.2.5最后,推送主仓库的更改到远程仓库:

  1. git push origin main
复制代码
这样便可以提交主仓库和子模块的更改到各自的远程仓库中。

6.3删除远程仓库中的文件

要删除远程仓库中的文件,可以按照以下步骤操作:
6.3.1删除本地文件并提交更改:

首先,在本地执行删除操作:
  1. git rm <file_name>
  2. git commit -m "Remove file_name from repository"
复制代码
或者,如果要删除整个文件夹:
  1. git rm -r <folder_name>
  2. git commit -m "Remove folder_name from repository"
复制代码
6.3.2推送更改到远程仓库:

推送本地的更改到远程仓库:
  1. git push origin main
复制代码
注意更换 main 为要推送的分支名称。
注意:删除文件会导致文件在版本汗青中的消散。如果有其他人正在依靠这些文件,删除它们可能会导致标题。因此,须要清晰地知道删除的结果。

第一次发文,希望对你有所资助,赞赞赞~


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

怀念夏天

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表