Git -- 01 -- Git上传项目到GitHub

原文链接:Git – 01 – Git上传项目到GitHub


相关文章:


虽说 GitHub 已经注册了好久了,但平时也仅限于查找开源项目或其他拥有资源,至于如何在 GitHub 上托管自己的代码却不怎么熟悉,因此上网搜索了相关资源并结合自身操作后,总结如下


一、安装 Git

  • 首先上官网,下载相应系统版本的 Git,这里我下载的是 Windows 版本
    在这里插入图片描述

二、创建 SSH KEY

  • 通常情况下,我们使用 SSH 的方式来进行 Git 仓库和 GitHub 仓库之间的传输通信,因此我们需要生成 SSH KEY (执行 ssh-keygen -t rsa 命令来生成)

  • 执行完命令后,会在用户目录下 (C:\Users\XJ\) 生成一个 .ssh 文件夹,一共有以下几个文件
    在这里插入图片描述

    • id_rsa 为私钥,id_rsa.pub 为公钥,与 GitHub 连接时我们会需要用到公钥

三、在 GitHub 上添加 SSH KEY

  • 此时我们登陆 GitHub 进行 SSH KEY 配置 (路径:setting —> SSH and GPG keys —> New SSH key)
    在这里插入图片描述

    • title 可以随便填写,key 需要填写 id_rsa.pub 公钥中的内容,最后点击 Add SSH key 完成创建

四、创建本地 Git 仓库

  • 我们先创建了一个名为 hello 的文件夹,然后在里面创建一个 HelloWorld.java 文件,在 hello 文件夹中,右击打开 Git Bash 命令行窗口,通过 git init 命令将该文件夹初始化为一个 git 仓库 (此时会在 hello 文件夹中生成一个隐藏的 .git 文件)
    在这里插入图片描述

五、将文件添加进版本控制并提交

  • 我们先通过 git status 来查看当前文件状态
    在这里插入图片描述

  • 接着通过 git add . 将文件添加进版本控制 (. 表示当前所有目录和文件)
    在这里插入图片描述

  • 然后通过 git commit -m 'first commit' 来提交文件 (-m 后面带的是本次提交的注释内同)
    在这里插入图片描述

    • 需要注意的是,这里只是将文件提交到了 Git 的本地仓库,并没有上传到 GitHub 上

六、在 GitHub 上创建项目

  • 接着我们在 GitHub 上创建一个同名为 hello 的项目
    在这里插入图片描述

  • 然后复制 SSH 地址,通过 git remote add origin git@github.com:Goodbye-Youth/hello.git 与本地 Git 仓库进行远程连接 (需要替换成你自己的 SSH 地址),此外我们还可以通过 git remote -v 来查看当前所有的远程仓库
    在这里插入图片描述
    在这里插入图片描述


七、上传代码到 GitHub

  • 最后我们通过 git push origin master 将本地代码 push 到 GitHub 仓库中,此时我们再去刷新之前在 GitHub 上创建的项目就会发现代码上传成功了

八、异常处理

  • 如果我们在第六步的过程中,勾选了自动生成 README 文件,则第七步直接 push 代码的话会报错
    在这里插入图片描述

  • 这是因为 GitHub 仓库上的 README 文件在本地 Git 仓库上并不存在,因此我们需要先通过 git pull origin master 将主干版本 pull 下来合并后再提交
    在这里插入图片描述

  • 不过直接使用 git pull origin master 指令,会报如上异常,这是因为本地 Git 仓库和 GitHub 仓库没有一个共同的 commit,Git 为了防止上传错误,所以会报该异常,如果我们确认无误就可以使用 --allow-unrelated-histories 参数来告诉 Git 已确认,对两个仓库进行合并
    在这里插入图片描述

  • 合并完成之后,我们再使用 git push origin master 就可以 push 成功了


九、参考资料

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值