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

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


一、安装 Git

首先上官网,下载相应系统版本的 Git,这里我下载的是 Windows 版本

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

具体的安装步骤这里就不说了


二、创建 SSH KEY

通常情况下,我们通过 SSH 方式来进行 Git 仓库和 GitHub 仓库之间的传输通信,因此我们需要先生成 SSH KEY

$ ssh-****** -t rsa -C "[email protected]"

执行完命令后,会在用户目录下生成一个 .ssh 文件夹,共有以下几个文件

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

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


三、GitHub 上添加 SSH KEY

此时我们登陆 GitHub 进行 SSH KEY 配置,步骤如下

setting —> SSH and GPG keys —> New SSH key

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

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


四、创建本地 Git 仓库

首先我创建了一个名为 hello 的文件夹,然后在文件夹里又创建了一个 HelloWorld.java 的文件,我们进入 hello 文件夹中,右击打开 Git Bash 命令行窗口,通过 git init 命令将该文件夹变为一个 Git 可管理的仓库 (此时会在 hello 文件夹中生成一个隐藏的 .git 文件)

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


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

此时,我们先通过 git status 来查看当前文件状态

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

接着通过 git add . 将文件添加进版本控制 (. 表示当前所有目录和文件)

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

然后通过 git commit -m 'first commit' 来提交文件 (-m 后面带的是本次提交的注释内同)

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

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


六、在 GitHub 上创建项目

我们在 GitHub 上创建一个同名为 hello 的项目

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

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

复制 SSH 地址,通过 git remote add origin [email protected]:Goodbye-Youth/hello.git 与本地 Git 仓库进行远程连接 (需要替换成你自己的 SSH 地址),此外我们还可以通过 git remote -v 来查看当前所有的远程仓库

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


七、上传代码到 GitHub

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


八、异常处理

如果我们在第六步的过程中,勾选了自动生成 README 文件,则第七步直接 push 代码的话会报错

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

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

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

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

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

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