Git使用 (十六) Github上的小按钮

92 阅读6分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

本节速览:

  • 什么是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?很多指令之间为什么要按一定的顺序执行?所以这个系列我以初学的时候,小白的角度从安装到工作原理(有的是我自己的见解,如果感觉不对,欢迎指正),再到实际应用!另外,推荐看一遍第三个参考视频,然后看一下第四个参考视频,对工作原理的讲解和实际应用确实不错!

二、GitHub 使用技巧

2.1 README.md

image-20220123171128958

新建仓库的时候有一个勾选是否新建"REAME.md",这个其实就是字面意思。遇事不决先REAME,意思是说这个REAME文件会展示在我们的仓库首页,起到简介的作用。".md"是用==markdown==语言编写的文本,我的所有的博客也是通过==markdown==写的,可以看一下我第一次使用CSDN的博客!入门markdown使用教程(Typora)_鬼才小张同学的博客

可以在仓库里直接编辑,也可以编辑好以后Push远程

image-20220123171748191

区别下面的Wike,Wike是公司用的。README是站在个人的角度。比方说,现在做了一个开源的软件放在了Github上,别人会先通过README来了解这个软件是做什么用的?

2.2 Pin & Watch & Star

仓库界面

img-amUKCJXI-1645248736597

个人主页

image-20220122151427081

Pin:代表这个仓库会显示在你的个人主页,类似置定的作用,别人可以率先看到这个仓库

Watch: 默认是Unwatch。如果某个仓库感兴趣,将其设置为Watch,表示关注这个仓库的动态,当仓库有新的push,Issues,个人通知中心就会收到消息,如果绑定了邮箱也会发送到邮箱

Star: 类似一键三连,点赞收藏,表示对项目的支持。Star的项目会收在个人主页。也可以通过标签对仓库分类

image-20220122151225644

所以可以搜一些值得Watch的项目,看大佬的开发,如果有任何新动态,可以收到通知,不仅可以查看别人的回答,也可以回答别人提出的问题,这是一个很好的学习成长方式

2.3 Issues & Wike

团队开发时,每一个公司不一定在同一个省市,常规的QQ、微信不方便交流,每一个公司有自己的gitlab,以防源码泄露。以github为例子可以使用Issues和Wike

Issues: 进行文档以及任务管理。有任何的疑问,bug。发起一个Issues。另一方面,如果新成员对项目有问题,可以通过标签筛选查看历史,快速了解项目。或者一个开源项目,其他人发现了bug,也可以通过Issues提交给作者

image-20220121183309717 在这里插入图片描述

提交后,代码的管理者就会收到,去解决问题

image-20220121203955491

管理员可以修改问题的状态,收到消息后可以回复消息并关掉问题

image-20220121204550280

Wiki: 对项目的描述,方便新人了解项目

2.4 fork & clone 的区别 & pull request 给开源仓库贡献代码

image-20220122132647096

fork: 在Github页面,点击fork按钮。将别人的仓库复制一份到自己的仓库

clone: 将Github中的仓库克隆到自己本地电脑

pull request: 第一种个人向作者贡献代码,第二种用法,团队开发,自己对其它分支没有操作权限,发出合并请求

Q:forkclone都有复制的作用,有什么区别?

A1:clone仅是下载了一份代码到本地,不能push远程仓库。

A2:假设有一个开源的仓库A,自己并不是仓库的成员,可以通过fork复制到自己的仓库,这样在Github中就有一个一模一样的仓库,但URL不同。对代码进行修改后,可以git push到远程仓库,此时作者并看不见你的push,之后通过pull request向作者发出请求贡献自己的代码,作者看到请求并决定要不要接受代码,如果作者认为修改是有用的,就会把这个请求并到自己的仓库

A3:比方有一个朋友分享了一个百度网盘链接,但是现在不想下载到本地,所以保存到了自己的云盘。通过fork也可以起到这个作用。

Q:如果fork了别人的仓库,之后clone到本地,仓库更新后,自己的仓库怎么更新?

A:在本地fetch拉取一下远程,然后将仓库合并

如果在一个特别有名的开源项目贡献过自己的代码,这部分记录会展现在log日志中,面试的时候就可以说自己贡献过什么代码

2.5 Organization 团队开发

1.为仓库添加合作成员

  • 一种是通过新建仓库,在仓库中邀请新成员
  • 一种是新建一个组织,在组织中新建仓库(类似新建一个QQ群,使用群文件管理项目),这样就不用每次都重新邀请一遍团队成员,默认新成员的权限是只读,需要在组织界面Setting设置写权限,或者在指定仓库的界面Setting

img-zgg75SAP-1645249102717

2.设置仓库规则

image-20220122165858509

2.6 在线编辑文件 & githubls.com

我们可以直接在网页对单个文件进行一些简单的操作

image-20220123174408973

但是当一个仓库有很多文件,这个时候需要查阅编辑某个文件,可以直接在仓库界面点击Go to file进行查找,也可以克隆到本地,但是有一种更简单的办法,在仓库地址后缀加"ls"变为"githubls.com/xxx/xxx",也可以在仓库界面直接按.,文件就会以文件树的方式展示出来,可以像IDEA那样,直接对文件进行编辑,下载 在这里插入图片描述 在这里插入图片描述

也可以去网上找一些插件,比如"Octotree",也可以展示文件树

小结

GitHub中有很多很多的功能,只不过是英文,所以大家回避去探索它,这里只说一了些实用的或者可能用到的一些按钮。自己可以多点点,多探索探索。顺便提一嘴自己在csdn搜一下Github网站镜像、Git克隆镜像、cdn.jsdelivr.net快速访问仓库文件,解决404的烦恼!

下节介绍,Git Bash乱码问题:

  • 如何解决目录乱码
  • 文本内容乱码

原本这是本专栏的最后一节,乱码也不属于Git学习内容,但是考虑到初学还是写了一篇 image-20220207210306105