之前介绍过Git的基本原理和常用的基本操作,有需要的小伙伴可参考博客:
《穿越时空的git》科幻小电影-Git创建版本库和常用命令操作-提交、回退、撤销、删除
1、申请GitHub账号
这个就不多说了,大家自行百度或Google吧哈,这里默认大家都已经有GitHub账号了~
2、配置GitHub(如果已经配置好的小伙伴可以跳过这部分)
- 2.1)踩坑时刻
第一次使用,如果没有配置好,会遇到各种问题,比如下面的这些:
Warning: Permanently added the RSA host key for IP address '13.229.xxx.xxx' to the list of known hosts.
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
git@github.com: Permission denied (publickey).
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)?
遇到问题会很影响心态,我是有过这样的感受~ 明明别人弄就可以或者视频里也是这样教学的,我一个一个对了,眼都对花了都不行,这时候很可能是别人经常用,很多配置早就配好了,自然就没有第一次使用遇到的各种问题了;
- 2.2)填坑时刻-配置git
首先我们使用
ssh -T git@github.com
命令:
$ ssh -T git@github.com
git@github.com: Permission denied (publickey).
这说明我们还没有将SSH Key配置到GitHub中,因为GitHub需要你的公钥来识别你的身份,确认你确实是你(好比去派出所或银行办事,需要本人的要出具证明来证明你确实是你~~),所以我们要生成公钥来给GitHub,才能完成我们的提交推送等操作;
使用
$ ssh-keygen -t rsa -C "your_email@youremail.com"
来生成本地公钥;
中途的操作不管它,直接梭哈!!!,问y/n就y,问其他的就直接回车,如下:
错了哈哈~,如下:
$ ssh-keygen -t rsa -C "376057520@qq.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/qinzhen/.ssh/id_rsa):
/Users/qinzhen/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/qinzhen/.ssh/id_rsa.
Your public key has been saved in /Users/qinzhen/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:ZBT2CZADZ5s1/BhVCMP8WY9y14OOgy8juOKsJ0Rf0zE 376057520@qq.com
The key's randomart image is:
+---[RSA 2048]----+
| ..+*X+.o. |
| ooE==... |
| +.==oo o.. |
| . o +. = o.o..|
|. . . . S .oo. .|
| . . . o . |
|. . . . |
| ..o . . o . |
| .=o... . o |
+----[SHA256]-----+
结束后我们cd ~/.ssh
目录下可以看到id_rsa
、id_rsa.pub
两个文件
$ cd ~/.ssh
$ ls
config id_rsa id_rsa.pub
打开id_rsa.pub
我们可以看到一堆乱七八糟的字符串,没错!这就是我们要的身份证明(SSH key):
$ cat id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC+eoWJwvq1ZfqbO1BqEeIQBHS6RsNl7yJOVHpjzRZNcaqqPS9+
U0rzDvwLGy4/xxxxK7nbAvYKHAnGcL/NA0koo+q3bu5eA7lgkuxHQdOISEZODFeLrXuGIMw0U5
2UeSxd1+14URhE5QR9YvKg6Bjo/s5NlgP9ruuNkWkdriLo5bNGECPCCT457KHf0st/ileng2YON8xZ9r
G5uZQot0T7fbBD4l80MXqOBVycu4tzzWDmdd1+WtAaOwzgs2MY7JHE0dWosvCIoxpnUlnJuH67k42nJN
iD34FVJ2bE5o7THgJhSUqGiOfKcEr/jkmwnaXOim+ZJoZ8sAjW6f 376057520@qq.com
现在我们就要拿着身份证(SSH key
)去银行(GitHub
)登记办业务了:
settings
-> SSH and GPG keys
-> New SSH key
这个时候我们再使用
git -T git@github.com
命令:
$ ssh -T git@github.com
Hi qinxxx! You've successfully authenticated, but GitHub does not provide
shell access.
我们可以看到这个时候就已经和GitHub打通连接上了
接着我们还要设置下username和email,这样每次commit的时候都会记录当前用户,保证在局域网中工作的git可以很好的区分出不同的用户
$ git config --global user.name "your username"
$ git config --global user.email "xxx@youremail.com"
配置好以后我们可以使用git config -l
命令来查看我们git的配置信息
$ git config -l
到这里,git和GitHub初次建立连接的配置就已经完成了,后面就可以开始创建我们的项目喽~
3、创建项目
-
3.1) 选择
New repository
-
3.2)填入要创建的仓库名、描述之后点击
Create repository
即可!
创建完成之后你会看到这样的界面:
-
3.3)这里让你在本地创建仓库和项目后提交到GitHub仓库中去:
$ git remote add origin git@github.com:xxx/gitDemo.git $ git push -u origin master Enumerating objects: 21, done. Counting objects: 100% (21/21), done. Delta compression using up to 8 threads Compressing objects: 100% (13/13), done. Writing objects: 100% (21/21), 1.79 KiB | 916.00 KiB/s, done. Total 21 (delta 1), reused 0 (delta 0) remote: Resolving deltas: 100% (1/1), done. To github.com:qinzhen666/gitDemo.git * [new branch] master -> master Branch 'master' set up to track remote branch 'master' from 'origin'. $ git branch * master
命令解释:
git remote add origin git@github.com:xxx/gitDemo.git 命令中我们添加了远程仓库origin,这个是一个默认的名字,也可以用其他任意的名字,只 不过习惯上默认远程库叫做origin,一看便知,有时候大家遵从一个“默契”,沟通交流起来 也更方便;跟着origin后面的就是GitHub仓库地址。 git push -u origin master 这里使用了-u参数,使用git help push查看:
-u, --set-upstream For every branch that is up to date or successfully pushed, add upstream (tracking) reference, used by argument-less git-pull(1) and other commands. For more information, see branch.<name>.merge in git-config(1).
大概意思就是讲本地分支master和远程分支master建立连接,后面再push的时候就直接使用`git push`命 令就可以了
补充小技巧:在提交文件的时候我们如果有多个文件修改,可以使用
git commit -a -m "修改描述"
命令将当前修改全部加到add中一起commit;这时候刷新GitHub的页面可以看到本地仓库的文件已经成功被提交到了GitHub上:
注意:
在第一次使用git进行push或者clone的时候,会出现警告选择提示: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)?
提示我们当前GitHub的鉴权没有被建立,是否继续连接,选择“yes”得到以下提示信息:
Warning: Permanently added 'github.com' (RSA) to the list of known hosts.
这里告诉我们已经将GitHub的RSA key添加到信任列表中了,下次不会出现此提示啦。
另外还有一个 注意 点,如下图所示,有HTTPS和SSH两种方式
一般我们再提交文件的时候使用SSH,在clone文件的时候使用HTTPS,如果使用HTTPS提交的话会提示使用相关的用户名和密码进行验证。