本节速览:
- 什么是README.md
- Pin & Watch & Star 有什么用?
- Issues & Wike 的作用
- fork & clone 的区别 & pull request 给开源仓库贡献代码
- Organization 团队开发
- 在线编辑文件 & githubls.com
讲讲小张的感受:我没有接触过Git
,所以看了很多视频,对于入门使用确实只要知道git clone
,git add
,git commit
,git push
,git merge
,确实也就足够了。但是我很好奇背后的原理,为什么要用git add
到暂存区而不是直接git commit
?很多指令之间为什么要按一定的顺序执行?所以这个系列我以初学的时候,小白的角度从安装到工作原理(有的是我自己的见解,如果感觉不对,欢迎指正),再到实际应用!另外,推荐看一遍第三个参考视频,然后看一下第四个参考视频,对工作原理的讲解和实际应用确实不错!
新建仓库的时候有一个勾选是否新建"REAME.md",这个其实就是字面意思。遇事不决先REAME,意思是说这个REAME文件会展示在我们的仓库首页,起到简介的作用。".md"是用markdown语言编写的文本,我的所有的博客也是通过markdown写的,可以看一下我第一次使用CSDN的博客!入门markdown使用教程(Typora)_鬼才小张同学的博客
可以在仓库里直接编辑,也可以编辑好以后Push远程
区别下面的Wike,Wike是公司用的。README是站在个人的角度。比方说,现在做了一个开源的软件放在了Github上,别人会先通过README来了解这个软件是做什么用的?
仓库界面
个人主页
Pin:代表这个仓库会显示在你的个人主页,类似置定的作用,别人可以率先看到这个仓库
Watch: 默认是Unwatch。如果某个仓库感兴趣,将其设置为Watch,表示关注这个仓库的动态,当仓库有新的push
,Issues
,个人通知中心就会收到消息,如果绑定了邮箱也会发送到邮箱
Star: 类似一键三连,点赞收藏,表示对项目的支持。Star的项目会收在个人主页。也可以通过标签对仓库分类
所以可以搜一些值得Watch的项目,看大佬的开发,如果有任何新动态,可以收到通知,不仅可以查看别人的回答,也可以回答别人提出的问题,这是一个很好的学习成长方式
团队开发时,每一个公司不一定在同一个省市,常规的QQ、微信不方便交流,每一个公司有自己的gitlab,以防源码泄露。以github为例子可以使用Issues和Wike
Issues: 进行文档以及任务管理。有任何的疑问,bug。发起一个Issues。另一方面,如果新成员对项目有问题,可以通过标签筛选查看历史,快速了解项目。或者一个开源项目,其他人发现了bug,也可以通过Issues提交给作者
提交后,代码的管理者就会收到,去解决问题
管理员可以修改问题的状态,收到消息后可以回复消息并关掉问题
Wiki: 对项目的描述,方便新人了解项目
fork: 在Github页面,点击fork按钮。将别人的仓库复制一份到自己的仓库
clone: 将Github中的仓库克隆到自己本地电脑
pull request: 第一种个人向作者贡献代码,第二种用法,团队开发,自己对其它分支没有操作权限,发出合并请求
Q:
fork
和clone
都有复制的作用,有什么区别?A1:
clone
仅是下载了一份代码到本地,不能push远程仓库。A2:假设有一个开源的仓库A,自己并不是仓库的成员,可以通过
fork
复制到自己的仓库,这样在Github中就有一个一模一样的仓库,但URL不同。对代码进行修改后,可以git push
到远程仓库,此时作者并看不见你的push,之后通过pull request
向作者发出请求贡献自己的代码,作者看到请求并决定要不要接受代码,如果作者认为修改是有用的,就会把这个请求并到自己的仓库A3:比方有一个朋友分享了一个百度网盘链接,但是现在不想下载到本地,所以保存到了自己的云盘。通过
fork
也可以起到这个作用。Q:如果
fork
了别人的仓库,之后clone
到本地,仓库更新后,自己的仓库怎么更新?A:在本地
fetch
拉取一下远程,然后将仓库合并
如果在一个特别有名的开源项目贡献过自己的代码,这部分记录会展现在log
日志中,面试的时候就可以说自己贡献过什么代码
1.为仓库添加合作成员
Setting
设置写权限,或者在指定仓库的界面Setting
。2.设置仓库规则
我们可以直接在网页对单个文件进行一些简单的操作
但是当一个仓库有很多文件,这个时候需要查阅编辑某个文件,可以直接在仓库界面点击Go to file
进行查找,也可以克隆到本地,但是有一种更简单的办法,在仓库地址后缀加"ls"变为"githubls.com/xxx/xxx",也可以在仓库界面直接按.
,文件就会以文件树的方式展示出来,可以像IDEA那样,直接对文件进行编辑,下载
也可以去网上找一些插件,比如"Octotree",也可以展示文件树
GitHub中有很多很多的功能,只不过是英文,所以大家回避去探索它,这里只说一了些实用的或者可能用到的一些按钮。自己可以多点点,多探索探索。顺便提一嘴自己在csdn搜一下Github网站镜像、Git克隆镜像、cdn.jsdelivr.net快速访问仓库文件,解决404的烦恼!
下节介绍,
Git Bash
乱码问题:
- 如何解决目录乱码
- 文本内容乱码
专栏速览:
- Git使用 从入门到入土 收藏吃灰系列(一) 专栏前言
- Git使用 从入门到入土 收藏吃灰系列(二) Git的安装与配置
- Git使用 从入门到入土 收藏吃灰系列(三) Git常用命令
- Git使用 从入门到入土 收藏吃灰系列(四) Git工作原理
- Git使用 从入门到入土 收藏吃灰系列(五) Git本地仓库搭建
- Git使用 从入门到入土 收藏吃灰系列(六) 链接远程仓库
- Git使用 从入门到入土 收藏吃灰系列 (七) 同时配置Gitee、Github 公钥
- Git使用 从入门到入土 收藏吃灰系列 (八) 什么是分支 分支的作用
- Git使用 从入门到入土 收藏吃灰系列 (九) git reset 移除暂存区与版本回退
- Git使用 从入门到入土 收藏吃灰系列 (十) 详谈push、fetch、pull
- Git使用 从入门到入土 收藏吃灰系列 (十一) 下载所有远程仓库分支
- Git使用 从入门到入土 收藏吃灰系列 (十二) git merge 与 git rebase
- Git使用 从入门到入土 收藏吃灰系列 (十三) git stash、git check-pick、git tag、git diff
- Git使用 从入门到入土 收藏吃灰系列 (十四) 清除git仓库的所有提交记录
- Git使用 从入门到入土 收藏吃灰系列 (十五) 自定义Git命令
- Git使用 (十六) Github上的小按钮
- Git使用 (十七) 解决Git Bash中文乱码