第七节:Git补充(开源协议、git push默认配置、等等)
一. 开源协议
新建仓库的时候,有个开源许可证,如下图:
常见的开源协议:
二. git push 默认配置
1. 官网说明
2. 重点剖析
(1). simple 【默认的配置】
git push 默认推送到远程服务器上的同名分支
注:即使设置了【 git branch --set-upstream-to=origin/master】也没用,也就是说当前分支为feature分支,通过前面的配置,让它跟踪master分支,依旧无效。
(2). upstream 【推荐的配置】
git push 推送到 指令 【 git branch --set-upstream-to=origin/master】 设置的分支
(3). current
设置完后,在本地新建一个 ypf1分支,然后直接git push,会直接在远程仓库生成一个 ypf1分支,并和本地仓库的ypf1分支建立联系。
(前面的simple是去找同名的远程分支,找不到报错, current 也是去找同名的远程分支, 如果没找到,直接远程创建一个)
3. 实操配置
【git config push.default upstream】 设置当前仓库的git push默认行为 是upstream
【git config --global push.default upstream】 设置全局所有仓库的 git push 默认行为是 upstream
【git config push.default】
【git config --list】
场景1(默认行为 simple):
远程仓库有 master 、feature两个分支,下载到本地对应的远程分支就是 origin/master、origin/feature。
运行指令【git checkout -b feature2】,然后设置跟踪master分支 【git branch --set-upstream-to=origin/master】,修改一下文件,运行指令 【git commit -a -m "xxx"】, 然后运行指令 【git push】推送到远程master分支。
结果:报错,无法推送
场景2(默认行为 upstream):
在上述场景1的情况下,在feature2分支下,运行指令 【git config --global push.default upstream】,然后执行【git push】。
结果:推送成功。
场景3(默认行为 current):
运行指令【git checkout -b feature3】
设置默认行为 【git config --global push.default current】
修改一下文件,运行指令 【git commit -a -m "xxx"】, 然后运行指令 【git push】
结果:推送成功,且服务器上新增了一个feature3分支。
三.
!
- 作 者 : Yaopengfei(姚鹏飞)
- 博客地址 : http://www.cnblogs.com/yaopengfei/
- 声 明1 : 如有错误,欢迎讨论,请勿谩骂^_^。
- 声 明2 : 原创博客请在转载时保留原文链接或在文章开头加上本人博客地址,否则保留追究法律责任的权利。