0.SSH
我们拥有 GitHub 账号之后,可以下载、创建项目,但无法提交代码,因为提交代码之前需要某种授权。而 GitHub 上一般都是基于 SSH 授权的。
那么什么是 SSH 呢?
SSH是一种网络协议,用于计算机之间的加密登录
。目前是每一台 Linux 电脑的标准配置。而大多数 Git 服务器都会选择使用 SSH 公钥来进行授权,所以想要在 GitHub 提交代码的第一步就是要先添加 SSH key 配置。
Linux 与 Mac 默认安装了 SSH ,而 Windows 系统安装 Git Bash后会自带SSH 的。大家可以在Git Bash输入 ssh 查看本机是否已经安装 SSH, 否则需要自行安装。
1.配置 SSH 密钥
2.添加SSH key 到 github
3.提交代码
了解两个Git命令的含义:
- git push :如果你本地代码有更新了,那么就需要把本地代码
「推」
到远程仓库,使本地仓库跟远程仓库就保持同步。git push origin main#把本地代码推到远程 master 分支
- git pull :如果别人提交代码到远程仓库,这个时候你需要把远程仓库的最新代码「拉」下来,然后保证两端代码的同步。
git pull origin main#把远程最新的代码更新到本地
一般我们在 push 之前都会先 pull ,这样不容易冲突。
添加 SSH key 成功之后,我们就有权限向 GitHub 上我们自己的项目提交代码了。提交代码有两种方法:
-
方法一:Clone自己的项目
-
这种是最简单方便的一种方式
我们以我在 GitHub 上创建的 CodePieces 项目为例,执行如下命令:
git clone https://github.com/Huiyu-Li/CodePieces.git
这样就把 CodePieces项目 clone 到了本地,你可以把 clone 命令理解为高级点的复制,这个时候该项目本身就已经是一个git 仓库了,不需要执行 git init 进行初始化,而且甚至都已经关联好了远程仓库,我们只需要在这个 CodePieces目录下任意修改或者add文件,然后进行 commit ,之后就可以执行:
git push origin main
-
方法二:关联本地已有项目
如果我们本地已经有一个完整的 git 仓库(或者本地用git init新建了一个仓库),这个时候第一种方法就不适合了。假设我们本地有个 test2 的项目,我们需要的是在 GitHub 上建一个 test 的项目,然后把本地 test2 上的所有代码 commit 记录提交到 GitHub 上的 test 项目。
Step1:在 GitHub 上建一个 test 项目
Step2:本地 test2 项目与 GitHub 上的 test 项目进行关联。切换到 test2 目录,执行如下命令:
~~~
git remote add origin git@github.com:Huiyu-Li/test.git
~~~
意为添加一个远程仓库,地址为 git@github.com:Huiyu-Li/test.git , origin 是给这个项目的远程仓库起的名字(名字你可以随便取,只不过大家公认的只有一个远程仓库时名字就是 origin )。git remote -v 可以查看当前项目有哪些远程仓库。
git pull origin master 把远程最新的代码更新到本地
git push origin master 可以向远程仓库进行代码提交。
- Git 取消远程分支关联,并关联到新的远程分支
在工作中,经常需要将同一份代码传到不同的git仓库中去
如果本地同样一份代码,已经关联了一个与远程分支,那么已经关联了远程分支,则需要先解除关联,并关联到一个要提交代码的新分支上:
git remote remove origin
可用git remote -v 查看当前项目有哪些远程仓库,然后再解除相应关联。
然后按照上述
方法二
关联到新的分支。
友情提醒:
提交代码之前先设置一下自己的用户名与邮箱,这些信息会出现在所有的 commit 记录里:
git config --global user.name "Huiyu-Li"
git config --global user.email "lihuiyuxx@gmail.com"