本地项目托管到 Github 详细步骤,仅此篇足矣~

1. 注册 GithHub 账号并登录

GitHub 官网地址: https://github.com/

2. SSH Key 设置

  • 由于本地 Git 仓库和 GitHub 仓库之间的传输是通过 SSH 加密的,所以,需要一点设置:

第 1 步】创建 SSH Key。通常在 C 盘的 user (用户)目录下,进入主目录,会有一个 .ssh 的文件夹,进入后可以看到 id_rsaid_rsa.pub 这两个文件,如果找到了这两个文件,如下图所示,可以直接跳过第一步

如果没有,打开 Windows下打开 Git Bash(Linux 中需要打开 Shell),执行下面命令,以创建 SSH Key:

ssh-keygen -t rsa -C "[email protected]"

一路回车,使用默认值即可,因为这个 Key 也不是用于军事目的,所以也无需设置密码。

然后就可以到显示的目录下找到 .ssh,里面有 id_rsaid_rsa.pub 两个文件,这两个就是 SSH Key 的秘钥对,id_rsa 是私钥,不能泄露出去,id_rsa.pub 是公钥,可以放心地告诉任何人。

第 2 步】首先创建 GitHub 账号并登陆,打开 Setting 进行设置,新建 SSH key

第 3 步】点 New SSH key 后,填上任意 Title,在 Key 文本框里粘贴id_rsa.pub 文件的所有内容:

第 4 步】输入密码进行确认,最后就可以看到,SSH key 添加完成

为什么 GitHub 需要 SSH Key 呢? 因为 GitHub 需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而 Git 支持 SSH 协议,所以,GitHub 只要知道了你的公钥,就可以确认只有你自己才能推送。

当然,GitHub允许你添加多个 Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的 Key 都添加到 GitHub,就可以在每台电脑上往 GitHub 推送了。

最后友情提示,在 GitHub 上免费托管的 Git 仓库,任何人都可以看到喔(但只有你自己才能改)。所以,不要把敏感信息放进去。

如果你不想让别人看到 Git 库,有两个办法,一个是交点保护费,让 GitHub 把公开的仓库变成私有的,这样别人就看不见了(不可读更不可写)。另一个办法是自己动手,搭一个 Git 服务器,因为是你自己的 Git 服务器,所以别人也是看不见的。这个方法我们后面会讲到的,相当简单,公司内部开发必备。

确保你拥有一个 GitHub 账号后,我们就即将开始远程仓库的学习。

3. 添加远程库

3.1 第一种情况

现在的情景是,你已经在本地创建了一个 Git 仓库后,又想在 GitHub 创建一个 Git 仓库,并且让这两个仓库进行远程同步,这样,GitHub 上的仓库既可以作为备份,又可以让其他人通过该仓库来协作,真是一举多得。

注: 若本地有项目,但还没创建本地 Git 仓库,利用下面指令初始化本地仓库:

git init

第 1 步】 首先,登陆 GitHub,然后,在右上角找到 New repository 按钮,创建一个新的仓库:

在这里插入图片描述

第 2 步】 自定义仓库名,添加 README file,点击 Create repository,远程仓库就创建成功了。

在这里插入图片描述

第 3 步】 进入创建好的远程仓库后,在 GitHub 上的这个仓库还是空的,GitHub 告诉我们,可以从这个仓库克隆出新的仓库,也可以把一个已有的本地仓库与之关联,然后,把本地仓库的内容推送到 GitHub 仓库。

目前我们已经有了一个本地仓库,要通过本地仓库与远程仓库建立连接。

第 4 步】点击 Code 下的 SSH,点击复制 SSH 链接(即为此远程仓库对应的地址)
在这里插入图片描述

第 5 步】打开建有本地仓库的文件,右键打开 Git Bash。 并执行下面命令,将本地仓库与远程仓库进行关联:

git remote add origin [email protected]:99Young99/RepsitoryTest.git

[email protected]:99Young99/RepsitoryTest.git 为上一步复制的远程仓库的 SSH 链接,注意需要改为你仓库下对应的链接。

添加后,远程库的名字就是 origin,这是 Git 默认的叫法,也可以改成别的,但是 origin 这个名字一看就知道是远程库。

下一步,就可以把本地库的所有内容推送到远程库上:

git push -u origin master

把本地库的内容推送到远程,用 git push 命令,实际上是把当前分支 master 推送到远程。

由于远程库是空的,我们第一次推送 master 分支时,加上了 -u 参数,Git 不但会把本地的 master 分支内容推送的远程新的 master 分支,还会把本地的 master 分支和远程的 master 分支关联起来,在以后的推送或者拉取时就可以简化命令:git push origin master

推送成功后,可以立刻在 GitHub 页面中看到远程库的内容已经和本地一模一样.

值得注意的是通常 GtiHub 上的主分支命名为 main,而刚刚我们推送的使用使用了 -u 参数,会自动在远程仓库中建立一个新的 master 分支,并与本地仓库的 master 分支关联起来

在这里插入图片描述

3.2 SSH 警告

当你第一次使用 Gitclone 或者 push 命令连接 GitHub 时,会得到一个警告:

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

这是因为 Git 使用 SSH 连接,而 SSH 连接在第一次验证 GitHub 服务器的 Key 时,需要你确认 GitHubKey 的指纹信息是否真的来自 GitHub 的服务器,输入 yes 回车即可。

Git 会输出一个警告,告诉你已经把 GitHub 的 Key 添加到本机的一个信任列表里了:

Warning: Permanently added 'github.com' (RSA) to the list of known hosts.

这个警告只会出现一次,后面的操作就不会有任何警告了。

3.3 第二种情况

上一种情况是有了本地仓库,如何关联远程仓库并推送,如果我们的项目从零开始,或者有了远程仓库,最好的方法就是首先创建或者选择远程仓库,然后再克隆到本地仓库。

第 1 步】打开远程仓库,在 Code 下的 SSH,点击复制 SSH 链接(即为此远程仓库对应的地址)
在这里插入图片描述

第 2 步】任意打开一个工作区(空白文件夹),右键点击 Git Bash Here,并输入如下命令:

git clone [email protected]:99Young99/AI-Learning-Materials.git

如果有多个人协作开发,那么每个人各自从远程克隆一份就可以了。

注意到,GitHub 给出的地址不止一个,还可以用https://github.com/99Young99/AI-Learning-Materials.git 这样的地址。实际上,Git 支持多种协议,默认的 git:// 使用 ssh,但也可以使用 https 等其他协议。

使用 https 除了速度慢以外,还有个最大的麻烦是每次推送都必须输入口令,但是在某些只开放 http 端口的公司内部就无法使用 ssh 协议而只能用https

Git 支持多种协议,包括 httpsssh 协议速度最快。

4. 上传项目

4.1 将远程仓库中的文件推送至本地仓库中

git pull --rebase origin main

这里的 origin main 表示从远程的 main 主分支上 pull 项目当本地,注意你所要 pull 的分支是否也叫 main,不是改为相应的分支名即可。且 Github 上的主分支为 main, 而 Gitee 上的为 master

注: 此操作会将 Github 对应连接仓库的文件下拉到本地,但并不会导致本地文件丢失,这步非常重要,必须先将远程仓库的文件下拉过来。

4.2 将本地项目放到暂存区(具体哪里不用管)

git add . 

注: . 表示本地项目目录下的所有文件,也可以指定某个文件

4.3 将本地项目从暂存区提交

 git commit -m '任意说明'

4.4 将本地仓库中的文件推送至指定的远程仓库中

git push -u origin main

push 过程中可能会弹出这个窗口,输入注册 gitee 时的用户名和密码即可

4.5 上传项目代码过程图

刷新 Gitee 仓库,即可看到项目已经上传

5. 后续内容需要更改后重新上传

5.1 将本地项目放到暂存区(具体哪里不用管)

git add . 

注: . 表示本地项目目录下的所有文件,也可以指定某个文件

5.2 将本地项目从暂存区提交

 git commit -m '说明'

5.3 将本地仓库中的文件推送至指定的远程仓库中

git push -u origin main

6. 指定分支上传

create a new repository on the command line

echo "# -" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin [email protected]:99Young99/-.git
git push -u origin main

push an existing repository from the command line

git remote add origin [email protected]:99Young99/-.git
git branch -M main
git push -u origin main

7. 注意事项

由于 Github 上只有 main 分支,而 git 默认为 master 分支
在这里插入图片描述
在这里插入图片描述

这个时候需要将本地 git 的分支改为 main,执行下面语句:

git branch -m master main

否则会报错: error: src refspec main does not match any

8. 技巧

8.1 在账户下将默认分支由 main 改为 master

在这里插入图片描述

8.2 在项目下将默认分支由 main 改为 master

在这里插入图片描述

8.3 将别人的仓库移到自己的仓库下

进入别人的仓库后,点击 Fork 过来
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_46450354/article/details/129589417