GIitHub
开源的项目托管平台
http://github.com
什么是开源
开发源代码,代码是公开的,任何人可以去查看,修改和使用开源代码;
开源许可协议
开源并不意味着完全没有限制,为了限制使用者的范围和保护作者的权力;
5种开源许可协议
1.BSD;
2.Apache Licence
3.GPL;
4.LGPL;
5.MIT :
目前限制最少的协议,唯一的条件 在修改后的代码和发行包中,必须包含作者的许可信息;使用的软件项目:jquery、 node.js
开源托管平台
免费存放开源项目源代码的网站;
1.GitHub;(全球最牛的)
2.Gitlab;(对代码私有性支持好 企业用户多)
3.Gitee;(码云 国产的 访问速度快 中文界面)
以上托管平台只能托管以git管理的项目源代码
新建空白远程仓库
远程仓库两种访问方式
HTTPS:零配置,每次访问仓库时,要重复输入GitHub账号和密码;
SSH:需要进行额外配置,不需要重复输入GitHub账号和密码【推荐】
基于HTTP将本地仓库上传到GitHub
#将本地仓库和远程仓库进行关联,并把远程仓库命名为origin
git remote add origin https://github.com/Liro7/jxxproject_01.git
#将本地仓库的内容推送到远程的origin仓库中
git push -u origin master
//如果已经推送过,再次推送的话直接 git push
问题:
远程库和本地库不一致
error:failed to push some refs to 'https://github.com/Liro7/jxxproject_01.git'
基于SSH将本地仓库上传到GitHub
作用:SSH 本地仓库和GitHub之间免登录的加密数据传输;
好处:免登录、数据加密传输
SSH由两部分组成:
1.id_rsa 私钥文件 存放在用户端电脑中
2.id_rsa_pub 公钥文件 需要配置到GitHub中
生成SSH Key
1.打开Git Bash
2.命令 连续敲三次回车 在C:\users\用户文件夹.ssh目录中生成id_rsa和id_rsa.pub
ssh-keygen -t rsa -b 4096 -C "1849494208@qq.com"
配置SSH key
1.记事本打开id_rsa.pub,复制里面的内容
2.浏览器打开GitHub登录,点击头像---->settings----->SSH and GPG------>New SSH key;
3.将id_rsa.pub文件的内容,粘贴到key对应的文本框里;
4.title文本框任意填写名称,来标识key从何而来
检测GitHub的SSH key是否配置成功
ssh -T git@github.com
远程仓库克隆到本地
git clone 远程仓库地址
Git分支
查看分支列表
git branch
*表示当前所处的分支
创建新分支
git branch 分支名称
切换分支
git checkout login(分支名称)
快速创建和切换分支
#-b创建一个新分支 checkout切换到刚才创建的新分支上
git checkout -b reg(分支名称)
合并分支
功能分支的代码开发测试完毕之后,将完成的代码合并到master分支上
#切换到master分支
git checkout master
#在master分支上运行git merge 命令将分支合并到master分支
删除分支
切换到master分支上删除
git branch -d 分支名称
分支合并遇到冲突
如果在两个不同的分支中,对同一个文件进行了不同的修改,Git就没法干净的合并它们,我们需要打开这些包含冲突的文件然后手动解决冲突
将本地分支推送到远程仓库
如果第一次将本地分支推送到远程仓库中
#将本地仓库和远程仓库进行关联,并把远程仓库命名为origin
git remote add origin https://github.com/Liro7/jxxproject_01.git
#将本地仓库的内容推送到远程的origin仓库中
git push -u origin login(分支名称)
第一次推送分支需要-u参数,后面直接使用git push推送到远程分支
查看远程仓库中的所有分支列表
git remote show 远程仓库名称(origin)
拉取远程分支的最新代码
git pull