0


上传本地文件到GitHub

上传本地文件到GitHub

前期准备

  1. 下载git客户端,地址:https://git-scm.com/downloads![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/9a9f1e30df004e3b98705c748573db37.png)
  2. GitHub上创建仓库,在账户头像下点击"Your Repositories",点击“New”在这里插入图片描述 根据需求填写选择后创建仓库在这里插入图片描述
  3. 设置SSH Key 已设置的可以跳过 检查id_rsa.pub文件是否存在:在电脑的C:\Users\pc\.ssh文件夹下查看是否存在id_rsa.pub文件 如果不存在,则打开git Bash,输入以下命令:
ssh-keygen -t rsa -C"[email protected]"

其中,

[email protected]

为GitHub的邮箱
输入后回车,回车,输入

y

后回车,会显示如下:
在这里插入图片描述

然后就可以在前面的位置找到

id_rsa.pub

文件,打开并复制其内容
在GitHub账户的

Setting

SSH and GPG keys

New SSH key

在这里插入图片描述

Title

(方框1)处填名称,自取

Key

(方框2)处填

id_rsa.pub

文件的内容
然后点

Add SSH key

添加SSH key

直接将本地文件上传至Github

直接上传,会在GitHub仓库下创建一个名为

master

的分支,并将本地文件内容上传至该分支中

在要上传的本地文件夹处右键选择

Open Git Bash here

,打开git命令窗口
在这里插入图片描述
输入以下语句:

在此文件夹生成一个.git隐藏文件:

git init

将文件添加到缓存区( 注意这个".“,是有空格的,”."代表这个test这个文件夹下的目录全部都提交,也可以通过git add 文件名 提交指定的文件):

gitadd.

查看现在的状态,可不看:

git status

提交添加到缓存区的文件,即操作注释:

git commit -m"这里是注释"

添加新的git方式的origin, github上创建好的仓库和本地仓库进行关联,此处的

https://xxx@xxx/test.git

为该仓库的git地址:

git remote add origin https://xxx@xxx/test.git

在这里插入图片描述
把本地库的所有内容推送到远程仓库(github)上,即上传本地文件:

git push origin master

如果显示下图,则说明上传成功

在这里插入图片描述

trouble shooting

把本地库的所有内容推送到远程仓库(github)上时遇到以下报错
在这里插入图片描述
输入命令:

git pull origin master

如果又报错:
在这里插入图片描述
其实这个问题是因为 两个 根本不相干的 git 库, 一个是本地库(只有picture), 一个是远端库(test仓库里只有readme文件), 然后本地要去推送到远端, 远端觉得这个本地库跟自己不相干, 所以告知无法合并 ,解决方法:先把两部分内容合并以下,有两种方式

方法一

输入:

git pull --rebase origin master
git push origin master
方法二

输入:

git pull origin master --allow-unrelated-histories

(会弹到文件里面,输入“:wq”退出该文件,如果没有遇到,请忽略)

git push origin master

在这里插入图片描述

将本地文件上传到GitHub的默认main分支

在git bash中输入:

在初始化时指定默认分支:

git init -b main

初始化之后修改:

git branch -m master main

可以发现原来的

master

变成了

main

在这里插入图片描述
全局方式修改默认分支:

git config --global init.defaultBranch main

接下来同之前的方法:

git init
gitadd.
git status
git commit -m"这里是注释"
git remote add origin https://xxx@xxx/test.git

上传本地文件,此处将

master

改为

main

:

git push origin main

如果报错:
在这里插入图片描述
解决方法同上,不过将

master

改为

main

git pull --rebase origin main
git push origin main

在这里插入图片描述
显示如下内容表示上传成功:
在这里插入图片描述

本地文件夹关联至多个仓库

如果需要将一个本地文件夹关联都多个仓库,有以下两种方法

方法一 push、pull分开操作

  1. 查看本地仓库关联的远程仓库
git remote -v

如图:
在这里插入图片描述

  1. 添加一个远程仓库
git remote add repository_name repository_ssh

其中,

repository_name

为仓库名(自定义)例如,初始的仓库名(上图中)为

origin

repository_ssh

为远程仓库的ssh,示例如图:
在这里插入图片描述

  1. 再次查看本地仓库关联的远程仓库
git remote -v

如图:
在这里插入图片描述

  1. 对远程仓库进行push或pull,需指定目标仓库,分别操作:
git push origin master
git push coding.net master
git pull origin master
git pull coding.net master

如果是在

main

分支操作,将其中的

master

改为

main

即可

方法二 push、pull不分开操作

如果对多个远程仓库操作相同,无需区分仓库进行操作,可使用以下方法:

  1. 查看本地仓库关联的远程仓库
git remote -v

如图:
在这里插入图片描述

  1. 为现有仓库添加额外的URL,为已有的名为name(此处为origin)的远程仓库添加一个远程地址,如:
git remote set-url -add origin [email protected]:XXX/xxxxx.git
  1. 再次查看关联的远程仓库:
$ git remote -v
origin  [email protected]:XXX1/xxxxxxxxxxx1.git (fetch)
origin  [email protected]:XXX1/xxxxxxxxxxx1.git (push)
origin  [email protected]:XXX/xxxxx.git (push)

trouble shooting

  1. 关联到两个仓库后,使用git add .,出现以下报错:在这里插入图片描述 这是因为该文件夹中已经包含了一个.git文件夹,删掉即可,此处,将另一个仓库coding.net文件夹中的.git文件夹删掉

参考

[1] 上传本地文件(夹)到GitHub和更新仓库文件
[2] 关于Github默认分支main和master以及如何在git init时指定默认分支
[3] 本地Git仓库关联多个远程仓库的两种方法

标签: github windows git

本文转载自: https://blog.csdn.net/weixin_46336532/article/details/144038141
版权归原作者 purples. 所有, 如有侵权,请联系我们删除。

“上传本地文件到GitHub”的评论:

还没有评论