通过 Git 上传代码到 GitHub 必要操作详解

时间:2021-07-30 06:38:49

Git

欢迎来到 Git 的学习。

介绍

首先先了解一下 Git。

Git,是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。

抱歉,以上是百度百科给出的解释,下面才是人话。

所谓 Git,暂时可以理解为:帮助我们把代码上传到类似 GitHub、码云 这样的网站的工具。

因为我们平时写项目的时候可能会换工作地点、换电脑,或者多人协同开发的时候需要把我们写好的代码公布给团队成员方便测试,所以把代码放在自己的电脑硬盘是不方便的,这时候就需要把代码存入 GitHub 等网站。

那么问题来了,为什么我们不自己登录 GitHub 然后手动上传呢?原因很简单,因为我们是程序员,我们需要用高大上的工具来装B。当然,这是骗你的。因为自己手动上传会很麻烦,项目中可能会有成百上千个文件,你手动试试?而且有更深层次的原因,就是关于项目版本管理了,比如我要修改我的代码,可是修改完了之后可能我都不知道到底修改了哪些文件的哪些地方了等等,在此不作赘述(原因是大家目前阶段用不到吗?当然不是,实际上是因为我不会)。

好了,下面就进入正题吧。这里以上传代码到 GitHub 为例。

起步

下载

下载 Git,注意系统是 32 位还是 64 位。

下载完毕后傻瓜式安装即可。

配置

配置 Git。下面将介绍一些常用命令。

首先,进入到你的项目文件夹,然后右键。如果安装成功,可以看到右键菜单栏中多出了两个选项,分别是:

  • Git GUI Here
  • Git Bash Here

其中 Git GUI Here 指的是图形化界面,而 Git Bash Here 是命令行。这里我们选择 Git Bash Here。

在出来的命令行中输入:

git config --global user.name "your name"

git config --global user.email "your email"

这两条命令中的your name指的是你的 GitHub 用户名,your email指的是你的 GitHub 邮箱。

这两条命令的作用是连接你的 GitHub 账号。否则,谁知道你的代码要提交到那个旮旯里呢?

准备

在提交代码之前,你还需要做一些必要的事情。

请在命令行输入:

git init

这个是用来创建版本库的。不懂什么叫版本库?

简单来说,就是一个文件夹,而 Git 可以管理这个文件夹下的所有文件。

然后你就需要把你的项目文件添加到这个版本库里面了。使用如下命令:

git add .

注意后面的那个小点点,这代表把所有文件都放到版本库中。

如果你只想把一个特定的文件放到版本库中,把那个小点点换成你想要操作的文件的文件名即可。

下一步就是:

git commit -m '对这次提交的说明'

-m 后面的内容随便写,但这里的内容表示的是你对这次提交的备注,所以有意义一点为好。

这行命令的作用是将版本库中的代码提交到本地仓库。

本地仓库不理解?没关系,跳过它。(不是因为太复杂,而是因为我也只是一知半解。想要以己昏昏使人昭昭不太现实。)

以上这些,就是提交代码到 GitHub 上所有必要准备工作了(注意,我说的是所有必要准备工作,而不是所有准备工作)。

在 GitHub 上创建 SSH Key

提交代码到 GitHub 仓库之间的传输是通过 SSH 加密的。当然,这里你不需要理解 SSH 加密是什么,只需要知道怎么做。

在你的命令行中输入:

ssh-keygen -t rsa -C "your email"

your email是你的 GitHub 邮箱。

这句命令的意思是创建你的 SSH Key。

创建过程中你可能会遇到类似这样的信息:

Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/Administrator/.ssh/id_rsa):

没关系,回车就可以了。一路回车直到出现这个:

The key's randomart image is:
+---[RSA 2048]----+
| |
| . E . |
| = . o |
| B = . . |
| . + OS o . |
| o o * . o |
| oo.* +. + + |
| . B++.+.o= *o .|
| o+B+ +++ o= |
+----[SHA256]-----+

这就表示你的 SSH Key 创建成功了。

当然你也可能遇到这样的情况:

Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/Administrator/.ssh/id_rsa):
/c/Users/Administrator/.ssh/id_rsa already exists.
Overwrite (y/n)?

这就表示你创建过 SSH Key 了。回车就可以了。

下面要做的就是拿到你的 SSH Key 了,命令行输入:

cat ~/.ssh/id_rsa.pub

你会得到类似这样的信息:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC2HNjwhOWcMR8NdcCh4zdnwATAeXlldYPqNcWvjutHdhfaficB92apNzvelWbD4mnrDMSlbGldCFlsyS4SrpQJLE65t8LbdQqScMa2rn8rP1v/m0kHt6cTZAzYbhV4D+o0lLc7mhHxOauPGj935LCrC9DxJ/WQTDejFKY1Mg95KGiGUjCgbZXYIxQ5wHpwaKQg6va1OFXh1lDwKuNFp+0WtTG6S5SVTgxaDtBtOTY+5N7gwx+ZUIrZ/4si1Mt01g/UrEBKH0b6QrUiyNrI11T2rhzPolWVQl8A3x+nAd83fTQoZ62D98YvIepyoIkld/zoAq4+X/fxIDeIuWHfEPDB 877882513@qq.comm

复制它,进入到你的 GitHub 主页。

点击右上角头像选择Settings,跳转后到左边找到SSH and GPG keys

有两个绿色按钮,点击New SSH key

有两个输入框,Title表示你的 SSH Key 名,随便起。还记得之前复制的那段内容吗?把它粘贴到Key中。然后点击Add SSH Key

到目前为止,就在你的 GitHub 上创建好了 SSH Key。

提交

下面要做的就是在 GitHub 上新建仓库并把本地的代码提交到 GitHub 上。

点击左上角的小猫图标去到 GitHub 主页,左上角有个绿色的按钮显示的是 New,这表示在你的 GitHub 上新建一个仓库(称为项目也可以),点击它。

然后就会出来新建仓库的见面,输入你的仓库名(Repository name)。然后点击 Create repository创建你的仓库。

不出意外你会进入到一个新的界面。

找到类似于下面这样的命令并复制:

git remote add origin git@github.com:Liu-Wenbin/test.git
git push -u origin master

粘贴到你的命令行。不出意外会有如下提示:

The authenticity of host 'github.com (13.250.177.223)' can't be established.
RSA key fingerprint is SHA266:nThbg6kNUpJWGl7E1IGOCspRomTxdCBRLviKw9E5SY8.
Are you sure you want to continue connecting (yes/no)?

输入yes,然后回车。稍等一会儿,如果你的项目不是很大,就会出现类似于如下的提示:

Warning: Permanently added 'github.com,13.250.177.223' (RSA) to the list of known hosts.
Counting objects: 3, done.
Writing objects: 100% (3/3), 207 bytes | 207.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To github.com:Liu-Wenbin/test2.git
* [new branch] master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.

这就表明你的代码上传成功了。去 GitHub 上刷新页面看一下吧!

当然,如果你的项目有点大的话,可能需要多一点时间上传,那就等等吧。

至此,所有有关代码提交的必要操作就介绍完了(注意:我说的是所有必要操作)。

修改代码

如果后来你修改了你项目中的代码,并且想要更新到 GitHub 上,Git 命令行中进入项目根目录然后进行如下操作就可以。

git add .
git commit -m '做了一些修改' # 这一步表示提交到 GitHub 仓库中
git push

更多信息

如果想要了解更多关于 Git 的内容,可以关注如下网址。