准备工作
1.什么是SSH Keys??
-
SSH是一种网络协议,用于计算机之间的加密登录。
-
Linux 与 Mac 都是默认安装了 SSH ,而 Windows 系统安装了 Git Bash 应该也是带了 SSH 的。
-
在Windows命令行(win+R)下输入ssh 会出现以下内容:证明是存在SSH的
紧接着输入 ssh-keygen -t rsa
就是指定 rsa
算法生成密钥,接着连续三个回车键(不需要输入密码),记住一定是3个回车,否则没有效果的 然后就会生成两个文件 id_rsa
和 id_rsa.pub
,而 id_rsa 是密钥
,id_rsa.pub 就是公钥
这两文件默认分别在如下目录里生成:
-
win系统在 C盘用户文件夹中查看会看到隐藏文件夹
.ssh
-
生成两个文件
id_rsa
和id_rsa.pub
-
把
id_rsa.pub
的内容添加到 GitHub 上 -
把
id_rsa.pub
的内容添加到 GitHub 上之后,这样你本地的id_rsa 密钥
跟 GitHub 上的id_rsa.pub 公钥
进行配对,授权成功才可以提交代码。 -
貌授权成功后会收到一条邮件
2、要写SSH keys的值
SSH and GPG keys -> New SSH key
- 在这里要把你安装 git 的时候的 SSH 公钥复制过来。按照文件路径找到
.ssh文件夹
,找到.pub后缀文件
,打开过后把内容全部复制, 粘贴到刚刚在 github 打开的SSH keys/Add new
的 key 位置。 - 点击 Add SSH key 就ok了。
3.SSH key 是否添加成功测试
- SSH key 添加成功之后,输入
ssh -T git@github.com
进行测试,如果出现以下提示证明添加成功了。
开始建立
1.本地仓库的建立
- 在命令行输入一下指令,我想要把创建的学习文件放在我的
E盘
之中的MyGit
文件夹下创建的一个learning code
的文件目录,这个目录可以用来以后学习使用。
输入命令行
cd E: 转到E盘中
cd MyGit MyGit文件夹是事先在E盘中创建好的
mkdir learning code 命令行创建文件夹
- 建立learning code目录后,进入该目录,用
pwd
显示我当前目录现在开始把刚才建立的 learning coed 变成本地仓库,如下:
pwd 显示我当前目录
git init 组建仓库
- 这个里面详细记录着我的每一步操作步骤。从盘符转换,文件创建以及查询状态,到最后的变成本地仓库的过程。中间建文件有两步出了点小问题,不过没影响。
- 这个文件夹就是我们的本地仓库,是
git
用来管理跟踪的,千万不要乱动这里面的文件,否则,git仓库就会被破坏。
2.添加文件到仓库中
- 把我们想要上传的文件或者文件夹之类的复制到learnig code 这个文件夹里面,但是
绝对不是放在.git文件里面
,选择完毕放进learning code文件夹之后我们开始执行以下命令git add .
把上传的文件全部放在本地仓库中去。
到这一步本地仓库建立好了并且也把我们想传的文件都放进本地仓库里面了。要和github建立远程连接,还要在github里面建立远程仓库。
3.GitHub的远程仓库建立
回到你的 git 客户端输入远程连接指令,如图,这里的地址要输入你在 github 上刚刚建立的那个仓库的地址,然后面加上一个.git后缀就好了
4.Push & Pull
在提交代码之前我们先要了解两个命令,这两个命令需要跟远程仓库配合。
- Push : 直译过来就是「推」的意思,什么意思呢?如果你本地代码有更新了,那么就需要把本地代码推到远程仓库,这样本地仓库跟远程仓库就可以保持同步了。意思就是把本地代码推到远程 master 分支。
代码示例: git push origin master
- Pull: 直译过来就是「拉」的意思,如果别人提交代码到远程仓库,这个时候你需要把远程仓库的最新代码拉下来,然后保证两端代码的同步。
代码示例: git pull origin master
意思就是把远程最新的代码更新到本地。一般我们在 push 之前都会先 pull ,这样不容易冲突。如下图就是提交成功了
特别注意:
在提交代码之前最好先设置下自己的用户名和邮箱,可以执行以下代码,前期我在提交时一直没整这个,结果每次提交都在报错,以至于浪费很多时间。
具体是两个 - -
还是一个 -
这个你们试试吧,我用了两个- -
没报错!!
git config --global user.name "你的GitHub名称"
git config --global user.email "在GitHub使用的邮箱.dev@gmail.com"
5.开始向仓库提交代码
- 我们本地的仓库就可以向远程仓库进行代码提交了:
git push origin master
- 查看我们当前项目有哪些远程仓库可以执行如下命令:
git remote -v
- 最后,刷新一下github的仓库,就可以看见上传成功啦。
GitHub初探成功一步,但还仅仅只是九牛一毛,惭愧啊!