首页 > 其他分享 >源代码管理工具Github

源代码管理工具Github

时间:2024-05-29 21:57:31浏览次数:14  
标签:文件 git Pull 仓库 GitHub 代码 管理工具 Github 源代码

GitHub 简介
GitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名GitHub。GitHub于2008年4月10日正式上线,除了git代码仓库托管及基本的 Web管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。目前,其注册用户已经超过350万,托管版本数量也是非常之多,其中不乏知名开源项目 Ruby on Rails、jQuery、python等。

GitHub 的发展历程
GitHub 成立于 2008 年,总部位于美国旧金山。它迅速成长为全球最大的代码托管平台之一,用户数量在 2011 年突破了 100 万。2012 年,GitHub 推出了企业版,支持私有仓库和访问控制等企业级功能。2014 年,GitHub 推出了教育计划,为学生和教师提供免费的代码托管服务和培训资源。2018 年,微软以 75 亿美元的价格收购了 GitHub。此后,GitHub 持续发展壮大,成为全球最受欢迎的开源社区之一。
Github的注册

需要邮箱注册输入密码,用户名
还有需要进行人机验证

Github特点
Github是一个代码托管平台和开发者社区,开发者可以在Github上创建自己的开源项目并与其他开发者协作编码。创业公司可以用它来托管软件项目,开源项目可以免费托管,私有项目需付费。Github可以托管各种git库,并提供一个web界面,但与其它像SourceFore或Google_ Code这样的服务不同,Github的独特卖点在于从另外一个项目进行分支的简易性。为一一个项目贡献代码非常简单:首先点击项目站点的“fork”的按钮,然后将代码检出并将修改加入到刚才分出的代码库中,最后通过内建的“pull request”机制向项目负责人申请代码合并。已经有人将Github称为代码玩家的HySpace。
优点:
(1)完整的支持Markdown语言,而且支持Emoji表情
(2)支持直接复制图片到页面,会自动上传图片(非常好的功能,知乎也支持)
(3)比较好的支持Mobile。虽然github没有手机客户端,但是一般开发者,写好的blog都(4)会通过微博进行分享,所以点击过来之后,就可以在手机浏览器里面访问
(5)使用github原生的功能,就可以进行类似评论的功能
(6)支持@用户功能,支持标签
(7)功能设计简洁实用上手很快,可用性好,已有很多相当质量的各类项目和优秀开发者在上面
缺点:
(1)国内访问速度太慢,经常出现connect time-out
(2)wiki功能太弱,直接导致文档(对于开源项目很重要)经常被分离到一个独立站点
(3)免费套餐不支持私有项目,无非解决企业内部的需求,github:fi价格过高(最便宜要$5,000/年)
(4)没有集成社交分享功能。比如后面可以分享到微博,微信朋友圈等
GitHub 的基本功能
GitHub可以托管各种git库,并提供一个web界面,但与其它像SoureForge或Google Code这样的服务不同,GitHub的独特卖点在于从另外一个项目进行分支的简易性。为一个项目贡献代码非常简单:首先点击项目站点的"fork"的按钮,然后将代码检出并将修改加入到刚才分出的代码库中,最后通过内建的"pull request"机制向项目负责人申请代码合并。已经有人将GitHub称为代码玩家的MySpace。GitHub进行分支就像在Myspace(或Facebook…)进行交友一样,在社会关系图的节点中不断的连线。GitHub项目本身自然而然的也在GitHub上进行托管,只不过在一个私有的,公共视图不可见的库中。开源项目可以免费托管,但私有库则并不如此。在GitHub,用户可以十分轻易地找到海量的开源代码。
创建仓库:用户可以在 GitHub 上创建新的代码仓库,用于存放项目代码。
1)工具栏
LOGO:点击GitHub的LOGO就会进入控制面板。
搜索窗口:在这里输入想找的用户或代码片段,就可以搜索到与之相关的信息。
Pull requests:这里查看用户仓库最新的推送请求信息。
Issues:这里查看用户最新的问题推送信息。
Marketplace:这里提供最新的软件,是代码软件集市。
Explore:从各个角度介绍GitHub上的热门软件。
+:创建新的仓库、旧仓库搬家、管理发布一些没有必要保存在仓库中的代码、登录组织
头像、用户:查看你的用户资料、你关注的项目、你的Gists、帮助、设置、退出登录
(2)控制面板
News Feed:显示当前已Follow的用户和已Watch的项目的活动信息,用户可以在这里查看最新动向。
Broadcasts:主要用于接受GitHub公司发来的通知或使用技巧的小贴士
Repositories you contribute to:显示用户做过贡献的仓库。按贡献时间的先后顺序排列。
Your repositories:按更新时间顺序显示用户的仓库。标有钥匙图案的是非公开仓库,标有类似字母Y图案的是用户Fork过的仓库。
(3)仓库
仓库的URL形式为:https://github.com/用户名/仓库名;这个页面可以说是各个软件的大门。循着目录找下去我们就可以查阅自己想要的文件。如果有相应权限,还可以对文件的内容直接进行编辑、提交。
Code:显示该仓库中的文件列表。仓库名下方是该仓库的简单说明和URL。
Issue:用于BUG报告、功能添加、方向性讨论等,将这些以Issue形式进行管理。Pull Requests时也会创建Issue。旁边显示的数字是当前处于Open状态的Issue数。
Pull Requests:在Pull Requests中可以列表查看并管理Pull Request。代码的更改和讨论都可以在这里进行。旁边显示的数字表示尚未Close的Pull Request的数量。
Wiki:Wiki是一种比HTML语法更简单的页面描述功能。常用语记录开发者之间共享的信息或软件文档。数字表示当前Wiki的页面数量。
Insights:洞察:Pulse:显示该仓库最近的活动信息。该仓库中的软件是 无人问津,还是在火热的开发之中,从这里可以一目了然。
Graphs:以图表形式显示该仓库的各项指标。让用户轻松了解该仓库的活动倾向。
Network:以图表形式直观地显示出当前从宽的状态及Fork出的仓库的状态,同时会显示成员列表。
Settings:这里可以更改当前仓库的设置。用户必须拥有更改设置的权限才能看到这个菜单。
Clone or download:Clone时候的地址,或者download的选项。
commit:这里可以查看当前分支的提交历史。左侧的数字表示提交数。
Branch:可以查看仓库的分值列表。左侧的数字表示当前拥有的分支数。
Releases:显示仓库的标签(Tag)列表。同时可以将标签加入时的文件以归档形式(ZIP、tar.gz)下载到本地。软件在版本升级时一般都会打标签,如果需要特别版本的文件,可以从这里寻找。
Contributor:显示对该仓库进行过提交的程序员名单。如果您也对该仓库发送过Pull Request并被采纳,那么在这里就能找到自己的名字。左边的数字是程序员的人数。
Branch:显示当前分支的名称。从这里可以切换仓库内分支,查看其他分支的文件。
Path:显示当前文件列表的路径。点击上级目录的链接就可以直接移动至该目录。
Fork this project and Create new file:可以在当前仓库的路径下新建文件。新建文件作为一个新的提交记录在Fork出的分支中。如果用户对该仓库拥有足够权限,该项则显示为Create a new file,用户可以直接在当前路径下新建文件。
Upload files:上传文件到GitHub的仓库。
Find file:可以查看当前分支的文件。
files:可以查看当前分支的文件。顶端为最新提交得相关信息。在文件或目录的列表中,从左至右分别为文件名称、该文件最新的提交日志、更新日期。点击目录或文件就可以查看相关内容。如果当前目录中包含README文件,那么在文件列表下方会显示README。
(4)Issue
在软件开发过程中,开发者为了跟踪BUG及进行软件相关讨论,进而方便管理,创建了Issue。管理Issue的系统成为BTS(Bug Tracking System,BUG跟踪系统)。
GitHub也为自身加入了BTS功能。在GitHub上,可以将它作为软件开发者之间的交流工具,多多加以利用。一下几种情况可以使用这个功能:发现软件的BUG并报告;有事想向作者咨询、探讨;事先列出今后准备实施的任务
Issue除BUG管理之外还有许多其他用途。在软件开发者的圈子中,将Issue用于多种用途的情况已经司空见惯。
(5)Pull Request
Pull Request是用户修改代码后向堆放仓库发送采纳请求的功能,也是GitHub的核心功能。
在Pull Request页面能够列表查看当前处于Open状态的Pull Request。通过点击页面左部和上部的选项可以进行筛选和重新排列。
在列表中点击特定的Pull Request就会进入详细页面。页面上方显示着这次是从谁的哪个分支向谁的哪个分支发送了Pull Request。
Conversation:在Conversation标签页中,可以查看与当前Pull Request相关的所有评论以及提交的历史记录。人们在这里添加评论互相探讨,发送提交落实讨论内容的整个过程会按照时间顺序列出,供用户查看。选中需要引用的评论内容,按r就能引用评论。
Commits:在Commits标签中,按时间顺序列表显示了与当前Pull Request相关的提交。标签上的数字为提交的次数。每个提交右侧的哈希值可以连接到该提交的代码。
Files Changed:Files Changed标签页中可以查看当前Pull Request更改的文件内容以及前后差别。标签上的数字表示新建及被更改的文件数。只要在URL的末尾加上?w=1即可不显示空格的差别。将鼠标指针放到被更改的行号的左侧,我们会看到一个加号。点击这个加号,就可以在代码中插入评论。这样,评论是针对哪行的代码就一目了然。
(6)Wiki
Wiki是一个使用简答的语法就能编写文档的功能。所有有权限的人都可以对文章进行修改,所以比较适合多人共同编写文章的情况。创建、编辑文档时不必另外启动软件,适合用来针对更新频率较高的软件进行文档等信息方面的汇总。
与Issue和Pull Request相同,Wiki也支持GFM语法,所以可以轻松创建表现力丰富的文档。Wiki功能本身的数据也在Git中进行管理。点击Clone URL按钮可以将当前的Wiki的Git仓库URL复制到粘贴板中。用户能够通过Clone操作获取Wiki仓库,然后在本地创建、编辑页面,进行提交再Push,便可以完成对Wiki的创建及编辑工作。在Pages标签页中可以查看Wiki页面。
(7)Pulse
Pulse是体现该仓库软件开发活跃度的功能。近期该仓库创建了多少Pull Request或Issue,有多少人参与了这个仓库的开发等。都可以在这里一目了然。
根据这个页面,用户可以判断目前这个软件是否正在被积极开发,或者持有仓库修改权限的人是否在认真的记性BUG修正等维护工作。
active pull requests:页面中Overview的左半部分显示了特定期间内活动过的Pull Request数。点击proposed-pull-request则可以按创建的先后顺序查看Pull Request的概要及链接。通过这些信息,用户就可以了解软件最近正在开发哪些功能。
active Issues:页面中Overview的右半部分显示了特定期间内活动过的Issue数。通过观察Issue的整体动向,用户能够知道这个软件是否有人在积极维护与支持。对方仓库越是活跃,用户发送的BUG报告和相关探讨就越可能收到回应。
Commits:Overview下方显示的是与提交相关的信息。左侧部分包含了如下几类信息:编写过代码的人数、提交的次数、default branch中修改过的文件数、default branch中添加的行数、default branch中删除的行数,通过这些信息,用户就可以大致把握该仓库中活跃开发者的人数。另外,右侧图表显示了这些开发者具体发送的提交数。
GitHub 与 Git 的关系
GitHub 是一个代码托管平台,而 Git 是一个分布式版本控制系统。GitHub 使用 Git 作为其版本控制后端,但它们是两个不同的工具。GitHub 提供了一个图形化的界面和额外的社交功能,而 Git 主要是命令行工具,用于本地管理代码版本。
常用的 Git 命令
每个开发人员都应该知道如何使用一些基本的 Git 命令:
git config
git init
git add
git commit
git clone
git push
git rm
git branch
让我们简要介绍一下这些,以便你知道如何使用它们。
如何使用 git config 命令
你可以使用此命令设置用户的用户名、电子邮件和分支,以便在处理项目时识别谁进行了提交。当你将 Git 下载到你的计算机中并且想要自定义它以供你使用时,将使用此命令。
例如:
git config --global user.name “ [username]”
git config --global user.email [email address]
如何使用 git init 命令
你可以使用 git init 命令在项目中启动 Git。当你正在处理项目并希望将 Git 初始化到项目以跟踪项目中所做的更改时,将使用此 Git 命令。
例如:
git init
当你运行此命令时,你应该会看到在你正在处理的当前文件夹中自动创建了一个名为 .git 的文件夹。
如何使用 git add 命令
此命令将你的文件添加到暂存区。暂存区域是添加我们对其进行更改的文件以及它们等待下一次提交的区域。
要将文件添加到暂存区域,请使用 git add 命令。它将文件夹中的所有文件添加到暂存区域。
git add (file name) 添加你想在暂存区提交的特定文件的名称。
当你对文件进行更改并希望将它们提交到你的项目时,请使用此命令。
如何使用 git commit 命令
这将提交你使用 git add 命令添加的任何文件以及暂存区域中的每个文件。
例如:
git commit –m “first commit”
此命令将文件永久保存到 Git 仓库。只要使用 git add 命令将文件添加到暂存区,就可以使用它。
如何使用 git clone 命令
你使用 git clone 命令将另一个位置的已有的仓库复制到你想要的当前位置。
例如:
git clone (repository name)
当你想要将 Git 仓库从 GitHub 复制到本地仓库时,你可以使用此命令。
如何使用 git push 命令
你可以使用此命令将文件从本地仓库上传/推送到另一个仓库,例如 GitHub 等远程仓库。
例如:
git push (remote storage name)
仅当你对项目所做的更改和提交感到满意并最终希望将其上传/推送到 GitHub 中的 Git 仓库时,才使用此命令。
如何使用 git rm 命令
你可以使用此 Git 命令从工作仓库中删除文件,例如:
git rm (filename)
仅当你希望从 Git 仓库中删除不需要的更改/文件时,才使用此命令。
如何使用 git branch 命令
你使用此命令来检查你正在处理的当前分支,例如:
git branch
此命令可帮助你了解你正在处理的当前分支。
结合我们的项目,我们先点击 Start a project 创建一个仓库
填写仓库名称,项目描述等详细信息后,点击Create repository完成创建。
点击 Create new file创建仓库文件,填写文件名及文件内容,填写提交的标题及信息
创建文件之后,自动跳转到仓库主页点击文件名称可进入文件详情页,对文件进行修改或删除
修改文件
点击 Upload files上传文件
点击 choose your files 上传文件
把我们项目组的每个人的代码上传到这里面
发现代码BUG,但是目前没有成型代码,需要讨论时用;或者使用开源项目出现问题时使用 。
提交一个issue发现一个Bug回复Thanks再关闭改issue在列表切换状态。
方便提醒组员进行讨论和修改

标签:文件,git,Pull,仓库,GitHub,代码,管理工具,Github,源代码
From: https://www.cnblogs.com/327XYHAHA/p/18221156

相关文章

  • 开山之作!Python数据与算法分析手册,登顶GitHub!
    若把编写代码比作行军打仗,那么要想称霸沙场,不能仅靠手中的利刃,还需深谙兵法。Python是一把利刃,数据结构与算法则是兵法。只有熟读兵法,才能使利刃所向披靡。只有洞彻数据结构与算法,才能真正精通Python今天给小伙伴们分享的这份手册,是用Python描述数据结构与算法的开山之作,透彻......
  • 源代码管理工具推荐
    本次向大家推荐两款源代码管理工具一、githubGitHub是一个基于Web的代码托管平台,旨在帮助开发者存储、管理和共享他们的代码项目。它提供了一系列的工具和功能,使开发者能够更加方便地进行协作、版本控制和代码管理。以下是GitHub的主要特点和功能:代码仓库:开发者可以在GitHub上......
  • 【Mac】关于Mac的github配置和本地项目上传
    目录前言什么是github?有什么用?github个人账户创建Mac的git环境配置生成密钥将密钥添加到github创建github仓库将本地文件上传至github仓库一些常用的git命令总结前言  本文主要介绍了Mac的git环境配置,github仓库的创建,本地文件上传到github仓库以及常用的git命......
  • 2252309-介绍主流源代码管理工具--Github(举例说明具体使用--旅行+兼职平台)
    一、Github介绍目录1、简介2、特点3、优点4、缺点5、使用教程6、举例二、详细介绍1、简介(1)Github的产生:软件开发过程中会因源代码引发各种繁琐的问题,如版本备份(费空间,费时间)、版本混乱(因版本备份过多造成混乱,难以找回正确的想要版本)、代码冲突(团队开发过程中多人操作同......
  • 源代码管理工具——github
    GitHub是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,故名GitHub。GitHub拥有1亿以上的开发人员,400万以上组织机构和3.3亿以上资料库。作为开源代码库以及版本控制系统,随着越来越多的应用程序转移到了云上,Github已经成为了管理软件开发以及......
  • 安卓手机自动化脚本的开发必备源代码!
    在当今的信息化社会,智能手机已经深入到我们生活的方方面面,其中安卓系统因其开放性和灵活性受到了广大用户的喜爱。在安卓手机的使用过程中,自动化脚本的应用不仅可以提高操作效率,还能实现一些复杂任务的批量处理,本文将科普五段安卓手机自动化脚本的必备源代码,帮助读者更好地理......
  • 源代码管理工具GitHub介绍
    GitHub是一个基于互联网的代码托管平台,它提供了版本控制功能,使开发者可以更轻松地共享和管理其源代码。GitHub支持Git作为其版本控制系统,允许用户在网站上存储和管理代码,提供了丰富的功能,如代码搜索、分支管理、问题追踪、合并请求等首先,GitHub的优点包括:方便的协作和交流:GitH......
  • 【SCAU操作系统】实验三单处理器系统的进程调度python源代码及实验报告参考
    一、课程设计目的        1.加深对进程概念的理解,明确进程和程序的区别。        2.深入了解系统如何组织进程、创建进程。        3.进一步认识如何实现处理器调度。二、课程设计内容        编写程序完成单处理器系......
  • 源代码管理工具介绍——GitHub
    使用源代码管理工具的好处——提高团队的协作效率,降低开发风险,增强代码的稳定性和可维护性1.版本控制:源代码管理工具可以帮助开发团队更加有效地管理、追踪项目的不同版本,团队成员能够利用源代码管理工具方便轻松地查看以前所有的代码版本,比较更改、撤销错误或者恢复之前的代码......
  • 源略论源代码管理工具的精选介绍:聚焦TFS(TFS)
    在软件开发团队协作的生态系统中,源代码管理工具扮演着至关重要的角色,确保代码的版本控制、团队协作效率及项目管理。本文将聚焦于MicrosoftTeamFoundationServer(TFS)这一企业级的源代码管理平台,结合团队开发流程,探讨其安装配置、使用细节及如何促进团队协作。安装与配置FS2013......