本地项目托管到 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 仓库,任何人都可以看到喔(但只有你自己才能改)。所以,不要把敏感信息放进去。

扫描二维码关注公众号,回复: 14716371 查看本文章

如果你不想让别人看到 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
今日推荐