Github使用学习笔记(四)

2023-11-08

第四节任务:Github中奇怪的后缀文件都是什么

一、README.md

1)README.md的作用

在构建完整项目结构的根目录下应该有一个名为ReadMe的文件来说明当前版本源码结构或版本信息.如果你常看开源项目也会发现一个规律.在你拿到一个源码解压后第一件事就是找对该Project的ReadMe文件阅读.

Read Me文件的意义在于说明Source Code 做了什么? 运行在什么样环境下? 如何查看编辑代码? 其目的在于向使用者说明源码有一个概览情况的介绍. 至少要说明如下几个问题:

  • 这份源码是用来做什么的?
  • 如何去使用?
  • 项目中重要的文件和子目录的结构信息?

那如何编写一个合格的ReadMe文档.一个合格的ReadMe文档应该包含哪些具体的信息?如下:

  • 整个项目的介绍[说明创建项目意图或是解决问题等]
  • 指出开发者编译整个项目需要的系统环境参数.并之处项目可能潜在的移植性问题.
  • 当前项目中重要的文件和子目录的结构信息.[必须]
  • 项目更多资源支持站点或是版本更新包获取所在的URL地址
  • 编译或安装步骤说明.或是知名这些信息所在的文件名[类似GitHub则把版本情况放在Version单独文件中等做法 通常应该Install文件]
  • 一般国外开源项目为了附属上源作者版权信息.会在该文档中注明项目主持人和参与者的名单列表.或是列出该信息所在文件[通常为Credits文件]
  • 关于本项目的版本更新或当前项目进展现在等信息.或支持包含该信息的文件[通常为NEWS文件]
2)README.md的编辑

详情可以关注以下链接教程:

http://blog.csdn.net/kaitiren/article/details/38513715

http://www.kuqin.com/shuoit/20141125/343459.html

以及我使用的Makedown在线文件编辑器:http://dillinger.io/


二、.gitignore文件

1).gitignore文件的作用

.gitignore = git ignore 实际就是github中的忽略文件,即在上传源码或者工程时通过设置一系列的规则,可以在向远程库推送时不上传某些文件。比如在Node中发布npm包时,就没有必要上传node_modules文件夹;或者说是代码在运行环境中生成的.project文件等等

2).gitignore文件的编辑

首先你可以根据你编写工程使用的语言,在创建一个.gitignore文件时选择相应的模板


接下来就需要了解使用的规则,具体可以参见以下链接:

http://blog.csdn.net/benkaoya/article/details/7932370

注意:.gitignore文件只对还没有加入版本管理的文件起作用,如果之前已经用git把这些文件纳入了版本库,就不起作用了

这个时候最好手动删除不需要的文件,然后在push,如果规则设定正确的话就不会再看见它们了。


三、LISENCE

1.  我想要一个简单宽松的许可证 

建议: MIT许可证。这是一个宽松的、简明扼要的许可证,只要用户在项目副本中包含了版权声明和许可声明,他们就可以拿你的代码做任何想做的事情,你也无需承担任何责任。 

使用该许可证的项目:jQuery、Rails 

2.  我比较关心专利 

建议: Apache许可证。这类似于MIT许可证,但它同时还包含了贡献者向用户提供专利授权相关的条款。 

使用该许可证的项目:Apache、SVN和NuGet 

3.  我关心项目的共享改进 

建议:GPL( V2或 V3)许可证。这是一种copyleft许可证,要求修改项目代码的用户再次分发源码或二进制代码时,必须公布他的相关修改。V3版本与V2类似,但其进一步约束了在某些限制软件更改的硬件上的使用范围。 

使用该许可证的项目:Linux、Git 

关于如何选择许可证,详细信息可参阅: http://choosealicense.com/licenses/ 



为了使开发者养成选择开源许可证的习惯,Github在创建新库的表单中添加了一个许可证选项。该选项中提供了一组简化的开源许可证,开发者选择后,Github会自动在其库的根目录中创建一个readme文件。 



如果你不想选择许可证,Github也不会勉强。Github表示,选择许可证只是你的权利,不是你的义务。但是需要注意的是,拒绝开源许可证并不意味着你拒绝了项目版权。没有许可证意味着你默认接受版权法中的规定,比如你可以保留你的项目源码被复制、分发、创建衍生版的权利,但有可能这不是你希望做的。 

在Github中,如果你的项目以公共库的形式发布,表明你已经接受了Github的服务条款,该条款赋予了其他Github用户一些权利,比如允许他们查看你的项目库或fork等。 

如果你想与他人分享你的项目,还是建议你选择一种开源许可证。


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Github使用学习笔记(四) 的相关文章

  • GIT 中的 Fastlane 应用程序文件?如何检索当前的 apple_id?

    我为我的 XCode 项目设置了 Fastlane 来实现构建自动化 至少 Fastfile 包含构建选项 应该位于 GIT 中 但我也很高兴 Appfile 团队标识符 也位于 GIT 中 主要问题 Appfile 应该包含我的 appl
  • 在单独的终端屏幕上显示 git diff 和 git log 输出

    设置新的开发环境后 我遇到了一个奇怪的 git 行为 我不记得过去见过 我习惯于git diff and git log在终端中创建一个新屏幕并在其中显示其输出 什么less默认情况下 我用它作为我的寻呼机 然后我可以退出并返回到之前的终端
  • egit:设置gitignore忽略所有eclipse项目文件

    我在 github 上有一个项目 我想从中删除所有与 eclipse 相关的文件 并允许克隆它的人使用他们想要的任何 ide 这是该项目 https github com vedi0boy Archipelo https github co
  • 在 Windows 上从源代码构建 PhantomJS-2

    我正在尝试基于这些在 Windows 8 1 x64 上从源代码构建 PhantomJS 2 的开发版本指示 https github com ariya phantomjs wiki PhantomJS 2 但是我收到以下错误 mingw
  • 使用 Git 处理 subversion:忽略对跟踪文件的修改

    我目前正在使用 subversion 存储库 但我正在使用 git 在我的计算机上本地工作 它使工作变得更加容易 但也使 subversion 存储库中发生的一些不良行为变得非常明显 这给我带来了问题 拉取代码后 有一个有点复杂的本地构建过
  • 使用 pygithub3 for Python 获取存储库信息

    我正在尝试通过给定 Github 用户名来访问每个存储库中使用的语言 为了做到这一点 到目前为止我的Python代码是 from pygithub3 import Github username raw input Please enter
  • 永久删除 git 提交历史记录

    我需要永久且完全删除 git 存储库的提交历史记录并继续使用文件的当前版本 旧版本 提交不得以任何方式访问 我尝试创建一个新的主分支 删除所有其他分支 但是当我在 git bash 中尝试 git show xxxx 时 旧的提交继续显示
  • Azure Devops Pipeline YAML 中的 Git 标记名称

    Summary 如何获取 Azure Devops Pipeline YAML 文件中当前 git 标签的名称 我想做什么 我正在 Azure Devops 中设置构建管道 创建新的 git 标签时会触发管道 然后我想构建 docker 镜
  • VS2013 - GIT 不工作

    我最近安装了VS2013 每当我尝试使用 GIT 执行任何操作时 我都会在输出窗口中收到以下两条消息 libgit2 引发错误 类别 未知 错误 本机库未提供错误消息 该问题可能主要出现在远程存储库获取中 在克隆远程存储库之前 请打开远程
  • 仅将单个文件放入 git 子模块/存储库中

    我在 git 源代码存储库中有一个特定文件 其中包含生产设置 密码 我想限制此文件 以便只有制作团队的成员才能看到它 但是 我想控制它的变化 我考虑过在 git 中使用子模块 然后限制对新存储库的访问 然而 git 似乎需要子模块的整个子目
  • 返回到 Github Desktop 中的上一个提交

    我正在尝试使用 GitHub Desktop 即 GUI 应用程序 而不是命令行 返回到先前的提交 在同一分支上 我认为这是一个核心功能 因为它是首先使用源代码控制的主要原因 我可以看到可以恢复提交 但这并不是我真正想要的 因为它创建了一个
  • Windows 上的 git 忽略文件名大小写更改 [重复]

    这个问题在这里已经有答案了 我有一个reactjs应用程序 我正在将所有文件名标准化为小写以符合Nodejs 最佳实践 https devcenter heroku com articles node best practices stic
  • 如何将更改提交到另一个预先存在的分支

    我刚刚对一个分支进行了更改 如何将更改提交到另一个分支 我正在尝试使用 git checkout the commmit to the changed branch b the other branch 但是 我认为这不是正确的做法 因为在
  • 使用 Git 在线使用 TFS 的 Visual Studio 2013:自动保存文件签入

    我目前正在将 Visual Studio Premium 2013 Update 3 与 Team Foundation Server Online 结合使用并使用 Git 存储库 直到最近 我已经成功使用 Git Repo 几个月了 现在
  • git update-index --no-assume-unchanged 不起作用

    我设置了assume unchanged咬了几个文件 现在我想取消它们 但这不起作用 gt git update index no assume unchanged Gemfile gt git ls files v grep Gemfil
  • 如何在没有本地存储库的情况下在远程运行 git 命令

    我有一个名为 git export 的脚本 它可以帮助我导出远程存储库 它是这样运行的 git export http host com git repo lt t tag or b branch or c commit gt local
  • git 的精简包是什么?

    我还没有找到太多关于瘦包的信息 并且手册页的信息对此相当含糊 我知道这与连接速度慢有关 但是什么是 连接速度慢 它的优点和缺点是什么 什么时候应该使用它 什么时候不应该使用它 根据记录 手册页 index pack https www gi
  • 如何使用 git-tfs 清理损坏的历史记录

    我不确定我是如何进入这种状态的 但我的 tfs 默认远程分支中有一些 TFS 中不存在的提交 所以我想摆脱它们 所以我的历史是这样的 A B C D tfs default 但提交 B 和 C 实际上并不是 TFS 中的变更集 因此 当我签
  • Jenkins groovy - 如何从最新提交中检索标签?

    从中获取最新提交branchName 我们运行下面的代码 treeMapData git branch branchName credentialsId credential url gitLabServer projectName rep
  • Git rebase --继续而不打开编辑器

    调用时git rebase continue在正常的变基冲突之后 编辑器 GIT EDITOR 打开并要求修改提交消息 因为提交消息可能包含前导 所以这可能会失败 export GIT EDITOR true git rebase cont

随机推荐

  • html账号不能为空,在HTML5 中,( )属性用于规定输入框填写的内容不能为空,否则不允许用户提交表单。...

    AT89C51单片机串行口的4种工作方式中 中则和的波特率是可调的 与定时器 计数器T1的溢出率有关 另外两种方式的波特率是固定的 协助扩散就是协同运输 属性输入是物质从高浓度侧转运到低浓度侧 不需要消耗能量 用于允许用户Task 2 Fi
  • stm32 hal库接收不定长数据程序

    协议层 串口通讯的数据包由发送设备通过自身的 TXD 接口传输到接收设备的 RXD 接口 在串口通讯的协议层中 规定了数据包的内容 它由启始位 主体数据 校验位以及停止位组成 通讯双方的数据包格式要约定一致才能正常收发数据 其组成见图 波特
  • HashMap和HashTable的区别(面试题)

    HashMap和HashTable的区别 面试题 概念 HashMap HashTable 对比 总结 概念 HashMap 基于哈希表的 Map 接口的实现 此实现提供所有可选的映射操作 并允许使用 null 值和 null 键 除了非同
  • MySQL创建数据库和创建数据表

    MySQL 创建数据库和创建数据表 MySQL 是最常用的数据库 在数据库操作中 基本都是增删改查操作 简称CRUD 在这之前 需要先安装好 MySQL 然后创建好数据库 数据表 操作用户 一 数据库操作语言 数据库在操作时 需要使用专门的
  • python中time方法,生成当前时间年月日时分秒

    在Python中 可以使用time模块中的strftime 方法结合时间格式化字符串来生成当前的年月日时分秒 下面是一个详细解释的示例代码 import time 获取当前时间的时间戳 current timestamp time time
  • png在ai转为路径_ai怎么把png转换为路径

    1 png格式转为ai格式 解决如何将png图像转换成清晰的ai或者cdr矢量图的步骤如下 1 打开PS软件 打开JPG的图片文件 文件 打开 选择图片存放的路径 找到文件 打开 png 429 230 60238 0 gt 2 这是一个非
  • jvm的启动过程

    一 JVM的装入环境和配置 在学习这个之前 我们需要了解一件事情 就是JDK和JRE的区别 JDK是面向开发人员使用的SDK 它提供了Java的开发环境和运行环境 JDK中包含了JRE JRE是Java的运行环境 是面向所有Java程序的使
  • elasticsearch得分设置以及分词器不同层次定义

    GET cat indices GET hotel search GET search query constant score filter term lvg mc 酒店 boost 1 2 DELETE my index PUT my
  • NLP——机器翻译中的Seq2Seq

    文章目录 框架 简介 Encoder Decoder CNN Seq2Seq Seq2Seq模型缺点 框架 简介 Seq2Seq 全称Sequence to Sequence 序列到序列 它是一种通用的编码器 解码器框架 这个框架最初是为了
  • Python中的MetaPathFinder

    MetaPathFinder 是 Python 导入系统中的一个关键组件 它与 sys meta path 列表紧密相关 sys meta path 是一个包含 MetaPathFinder 实例的列表 这些实例用于自定义模块的查找和加载逻
  • 外汇市场与交易系统读书笔记(1)

    本文为 外汇市场与交易系统 这本书的读书笔记 1 a 汇率报价一般有五个数字 包括小输掉 其中 精度最高到小数点后四位 一般而言 我们以五个数字中的最低位作为基本点 b 外汇即期汇率报价一般包含买入汇率和卖出汇率 例如usd jpy的汇率可
  • 【知识积累】分析并实现O(N^2)的算法(对数器验证)

    1 选择排序 package com example demo algorithm import java util Arrays Description 选择排序 数据规模 N 0 N 1 看 比 交换 1 N 1 看 比 交换 2 N
  • SoC的开发

    怎么做SoC SoC是干啥的 SoC就是将CPU GPU Uart I2C WiFi Etherne等硬件IP连起来 做到一个芯片上 主要工作有 1 用verilog将这些IP core连起来 在verilog仿真器上进行验证 也要写一些C
  • Axure Repeater系列---排序

    最新学习整理Repeater 网上也能找到一些实现排序的帖子 但是对于不熟悉中继器的同学来说 直接上手还是有点难度的 我也遇到一些坑 特整理记录下来 共同学习 学习之前最好了解下中继器的各个属性以及函数的含义 工具 Axure8 0 学习目
  • 使用人声分离在线网站获得音乐

    有时候碰到一个广告中的音乐 觉得非常悦耳 想将它占为己有 使用到自己的片子中 但奈何其中有广告人声 想获得纯的音乐 如何做到呢 本文给出了方法 希望对你有用 注 本教程使用到了几个工具 1 fdm 下载片源 2 视频编辑大师 分离视频中的音
  • MySQL必知必会——第二十章更新和删除数据

    更新和删除数据 本章介绍如何利用UPDATE和DELETE语句进一步操纵表数据 更新数据 为了更新 修改 表中的数据 可以使用UPDATE语句 UPDATE的两种用法 更新表中特定行 更新表中所有行 不要省略WHERE子句 缺少WHERE子
  • 树莓派教程 - 2.1 树莓派USB摄像头 树莓派罗技免驱摄像头 fswebcam常用参数

    树莓派外接摄像头 最常用的有两种 CSI摄像头 USB摄像头 当然网络摄像头也是可以的 一般的USB摄像头都是UVC免驱的 而且可以方便的插拔和安装 平时最为常用 一 硬件设备 usb摄像头使用的 罗技c310 只要是UVC免驱就可以 二
  • QT实现聊天室

    qt实现聊天室 项目功能简介 1 连接 客户端 需要先连接服务器 就是输入服务器端的IP和端口连接服务器 如果连接成功 连接按钮显示文字会显示已连接 颜色变浅 2 注册 接下来是注册 如果申请的用户名还有人用户注册 则可以注册成功 如果之前
  • JS之instanceof详解

    instanceof 用于检测构造函数的 prototype 属性是否出现在某个实例对象的原型链上 语法 object instanceof constructor object 某个实例对象 constructor 某个构造函数 用来检测
  • Github使用学习笔记(四)

    第四节任务 Github中奇怪的后缀文件都是什么 一 README md 1 README md的作用 在构建完整项目结构的根目录下应该有一个名为ReadMe的文件来说明当前版本源码结构或版本信息 如果你常看开源项目也会发现一个规律 在你拿