如果还不懂Git和GitHub,瓜都吃不懂了!

Git和Github的使用 前言 我们知道我们的文件在需要管理的时候,如果出现崩溃或者文件丢失的情况的时候,就会对管理和工作造成非常严重的影响。而这个时候,我们就需要用到git和github来管理我们所使用的项目,可以帮助管理我们的项目版本。那么,就让我们来了解git和github吧。 一、版本控制 关于版本控制,当我们需要给文件去设置,设计不同的版本,最初的想法可能就是不停的创建文件,复制粘贴。但是这个过程明显是存在缺点的: 因此,我们就需要通过一些方法来方便管理这些文件。 版本控制软件 版本控制软件是. 阅读详情

本文公众号来源:漫话编程   作者:漫话编程


昨天整理了一篇常用的小工具,有读者留言不太懂GitHub和Git,想让我整理一篇

昨天的瓜大家应该都知道,
传言说南大的不懂Git,私自把公司代码上传到GitHub上(这肯定不能信了)


不管怎么样,作为一个程序员就肯定要了解Git和GitHub的!


ps:学习Git可以看廖雪峰大佬的:

https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

周末,我正在家里看《最强大脑》,女朋友在一旁刷手机,相安无事。谁知道,刚过了没多久,她突然问我:

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

版本控制

想要介绍什么是GitHub,就要介绍下什么是Git,想要介绍什么是Git,那就不得不提版本控制。

我们知道,如果多台计算机在同一个局域网中,是可以进行局域网文件共享的。共享者可以通过设置把自己文件共享给他人进行阅读和修改。

640?wx_fmt=jpeg

对于同一份共享文件,如果又多个人需要修改的话会发生什么事情呢?假设现在有三个人,A分享了文件夹mhcoding,其中包含了三个文件mhcoding1.png,mhcoding2.png,mhcoding3.png,B和C需要对这份文件进行修改。

B和C分别把mhcoding文件夹拷贝到自己的电脑上,然后进行修改,改完之后需要再把自己修改上传上去。B先改完了之后把自己的文件上传上去,覆盖了A的分享。之后C也改完了,也把自己的改动上传上去。这样,C就会把B的修改覆盖掉。

为了上述这种问题,就需要通过一种方式来在C想要上传文件的时候来提醒他,告诉他需要考虑到B已经改过文件的事情。

比较好的方式就是通过版本控制。

如果使用了版本控制系统,每一个团队成员都可以在任何时间对任何文件毫无顾虑的进行修改,版本控制系统可以提醒我们文件修改冲突,甚至可以帮我们自动把多个人的改动合并到一起。

有了版本控制,我们还可以回溯查看以前某一个版本中具体文件的内容,还可以查看某一次改动的变更内容。非常适合团队协作。

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

版本控制的方式

本地版本控制系统 

许多人习惯用复制整个项目目录的方式来保存不同的版本,或许还会改名加上备份时间以示区别。这么做唯一的好处就是简单。不过坏处也不少:有时候会混淆所在的工作目录,一旦弄错文件丢了数据就没法撤销恢复。

640?wx_fmt=jpeg
 为了解决这个问题,人们很久以前就开发了许多种本地版本控制系统,大多都是采用某种简单的数据库来记录文件的历次更新差异。
640?wx_fmt=jpeg
 集中化的版本控制系统  
接下来人们又遇到一个问题,如何让在不同系统上的开发者协同工作?于是,集中化的版本控制系统应运而生。

这类系统,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。

640?wx_fmt=jpeg
 这种做法带来了许多好处,特别是相较于老式的本地版本来说。现在,每个人都可以在一定程度上看到项目中的其他人正在做些什么。而管理员也可以轻松掌控每个开发者的权限,并且管理起来也轻松容易的多。

分布式版本控制系统

集中化最显而易见的缺点是中央服务器的单点问题。如果中央服务器宕机一小时,那么在这一小时内,谁都无法提交更新,也就无法协同工作。

要是中央服务器的磁盘发生故障,碰巧没做备份,或者备份不够及时,就会有丢失数据的风险。

于是分布式版本控制系统面世了。在这类系统中,客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来。这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。因为每一次的提取操作,实际上都是一次对代码仓库的完整备份。

640?wx_fmt=jpeg


640?wx_fmt=jpeg

640?wx_fmt=jpeg

Git

git其实就是一款我们前面介绍的分布式版本控制软件,Git具有以下特点:

  • 直接记录快照,而非差异比较

  • 近乎所有操作都是本地执行

  • 时刻保持数据完整性

  • 多数操作仅添加数据

640?wx_fmt=jpeg

程序员是比较典型的需要团队协作的职业,大多数情况下,都是需要多个程序员同时开发同一个项目的,就好像多个程序员要同时修改一份word文档一样。所以,Git是很多程序员的必备工具。

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

GitHub

GitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名GitHub。

640?wx_fmt=jpeg
 所谓托管平台,也就是说他可以用于存放文件。只不过上面的文件都是可以公开被访问到的。

GitHub是通过Git进行版本控制的软件源代码托管服务,并且,GitHub还引入了一些社交属性。号称是世界上最大的程序员(同性)交友网站。

640?wx_fmt=jpeg
 简单的说,在GitHub上面,你可以提交你自己写的代码(发微博)、关注(粉)某人、关注(赞)某个项目、添加评论、Fork(转发)一个项目来自己修改,这些功能和微博都是一样的,只是将我们的吐槽换成了由各种编程语言写的代码。我们平时见到的大部分开源代码也都是挂在上面的。

最近比较火的996icu项目我们说他有10多万的Star,就是说由10W+的人关注了这个项目。

640?wx_fmt=jpeg


640?wx_fmt=jpeg

640?wx_fmt=jpeg

GitHub上那些奇葩"项目"

Dress - 女装大佬聚集地

有129名贡献者在这个名为Dress的项目里集结,上传了数千张女装照,收获了8000余颗星。

640?wx_fmt=jpeg

你敢相信这是个码农?

地址:https://github.com/komeiji-satori/Dress

Thanos - 灭霸命令

Thanos.sh是一个开源的个灭霸命令,可随机删除电脑上一半文件。

640?wx_fmt=jpeg
 地址: https://github.com/hotvulcan/Thanos.sh

nocode - 一行代码都没有

这是一个Issue比项目更精彩的项目,项目中一行代码都没有,Issue中各种装逼。

640?wx_fmt=jpeg


想问下,Star这个项目的2.7万人是有多无聊???

地址:https://github.com/kelseyhightower/nocode


programmer-job-blacklist 码农找工作黑名单 

地址:https://github.com/shengxinjing/programmer-job-blacklist


hangzhou_house_knowledge 杭州买房攻略 

地址:https://github.com/houshanren/hangzhou_house_knowledge


howmanypeoplearearound 通过 Wi-Fi 信号估计附近有多少人

地址:https://github.com/schollz/howmanypeoplearearound

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

参考资料:

https://git-scm.com/book/zh/v1/

https://www.jianshu.com/p/b2ad5d9daa23

https://www.zhihu.com/question/23498424


推荐阅读:


640喜欢我可以给我设为星标哦640

640?wx_fmt=jpeg
转发到朋友圈是对我最大的支持!
git和github在ubuntu上的使用 git是一个应用最广泛的分布式版本控制系统,github是提供远程git仓库托管服务的网站。本文简单介绍git和github在ubuntu上的安装和使用。 阅读详情

相关推荐

在 mac 上使用 Git 和 GitHub 连接

在 mac 上使用 Git 和 GitHub 连接,mac git 的地址: http://code.google.com/p/git-osx-installer/ 由于可能这个网址访问 不了,所以需要使用源码安装。

Zhiyuan_Ma 5288

提取、拉取、推送与同步的区别(以Visual Studio与Github为例)

提取、拉取、推送与同步的区别(以Visual Studio与Github为例)

Joe_LAL_24的博客 1万+

git和github关联起来

1、在github中创建自己的账号 这个就不详细介绍了.... 2、在windows或linux下安装git linux下:如果你配置的网络yum源 直接 yum -y install git就可以了 如果你碰巧用Debian或Ubuntu Linux,通过一条在root权限下apt-get install git就可以直接完成Git的安装,非常简单。 windows下: ...

qq_26948143的博客 2069

Git 提取和拉取的区别在哪

操作说明:Pull 操作是 Fetch 和 Merge(或 Rebase)的组合。首先,它会从远程仓库下载最新的提交和分支信息,然后将这些更改合并到你当前的分支中。这意味着你的本地分支会被更新为远程分支的最新状态。操作说明:Fetch 操作会从远程仓库下载最新的提交、分支信息等,但不会将这些更改合并到你当前的分支中。它只是将远程仓库的更新信息存储在本地,并不会自动修改你当前的工作区。

一个编程的同学 2403

两万文字教你掌握Git和GitHub的使用

1. 什么是Git和GitHub? 2. 安装Git和GitHub 2.1 安装GitHub 2.2 安装Git 3. Git初尝试 3.1 总结 3.2 练习 4. Git重要特性 4.1 帮助、日志和比较 4.2 忽略文件 4.3 总结 4.4 练习 5. 分支 5.1 总结 5.2 练习 6. GitHub 6.1 Markdown 6.2 Pull Requess 6.3 Pages 6.4 Forking 6.5 总结 6.6 练习.....................

herosunly的博客 1万+

deepin启动异常处理

修复的命令在执行时会输出大量的修复信息,正常情况下修复完之后输入exit命令回车后,即可正常启动系统。

whxxiang的博客 4370

git fetch和git pull的区别

【是什么】:平时开发经常遇到不清楚的问题就百度/google,目的是能快速使用并解决问题。这时我们没有花太多时间去深入理解,只求能快速解决手头问题。 【为什么】但是如果要深入理解的话,发现有时候百度出来的技术文章不全面、不够深入,甚至不同文章或者评论说法是相反的,这时我们再看这些二手的技术文章就是浪费时间了,甚至会被引导至错误的方向。 此时,如果我们要深入、透彻理解的话就要去看官方技术文档了,...

weixin_30849591的博客 696

AI+Xmind自动生成测试用例(思维导图格式)

最后:我是Walker,一个热爱分享编程知识的程序员,希望能够帮助到你!

Think_and_work的博客 2333

关于Github中提取(获取)和拉取的区别

vs中的GitHub插件的同步选项中,存在“提取”、“拉取”两个选择,都能起到获取最新版代码的作用。 “提取”为fetch,“拉取”为pull。 “拉取/pull”从远程仓库拉取最新版本文件到本地,自动合并/merge。 “提取/fetch”从远程获取最新版本文件到本地,不自动合并/merge,最新版本在“分支”选项中的“remotes/origin”文件夹下可以查看,可以选择将其合并到maste...

weixin_41573970的博客 3万+

大学物理第二章 质点动力学详解

大学物理第二章 质点动力学概念详解

weixin_63026364的博客 1万+

用 SAP ABAP ALV 重塑 SM30:可扩展的自定义表维护视图与自动传输实践

文章摘要: 本文提出了一种基于ALV Grid的动态表维护框架,用于替代传统SM30维护视图。该方案通过输入表名自动生成维护界面,支持动态筛选、批量操作和自动传输管理。核心设计包括:利用BAdI实现扩展点、通过行状态字段简化数据变更跟踪、使用Style Table控制单元格编辑权限、集成CTS实现自动传输。相比SM30标准维护,该框架显著提升了交互体验(支持ALV排序/过滤/汇总)和业务扩展性(统一校验与权限控制),同时解决了"维护+传输"流程割裂的问题。文中详细阐述了技术实现方案,并提

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 318

git的提取和拉取有啥区别

使用git fetch可以获取远程仓库的最新信息而不立即合并,适合在合并前先检查远程仓库的状态。使用git pull则会立即合并远程仓库的最新提交到当前分支,适合当你确定要更新当前分支并与远程仓库同步时。通常情况下,如果你只是想获取远程仓库的信息而不立即合并,可以使用git fetch;如果你确认要将远程的更改合并到你的分支中,那么可以使用git pull。

C'mon的博客 2195

车载 ECU 中的 Safety Linux 详解

车载 ECU 中的 Safety Linux 详解

天赐好车的博客 312

git提取和拉取区别_如果还不懂Git和GitHub,瓜都吃不懂了!

周末,我正在家里看《最强大脑》,女朋友在一旁刷手机,相安无事。谁知道,刚过了没多久,她突然问我:版本控制想要介绍什么是GitHub,就要介绍下什么是Git,想要介绍什么是Git,那就不得不提版本控制。我们知道,如果多台计算机在同一个局域网中,是可以进行局域网文件共享的。共享者可以通过设置把自己文件共享给他人进行阅读和修改。 对于同一份共享文件,如果又多个人需要修改的话会发生什么事情呢...

weixin_42470145的博客 3350

uniapp(全端兼容)-最新详细实现接入腾讯云IM即时通讯教程,uniapp在安卓苹果app端/小程序/h5移动端等集成使用腾讯云im插件,提供消息列表与聊天对话示例,支持发图片/私聊/实时监听消息

uni-app,腾讯云IM,安卓app,苹果app,微信小程序,移动端,H5网页,手机网站,微信小程序、支付宝小程序,手机app端,nvue,im即时通讯,腾讯云IM详细教程,如何接入腾讯IM即时通讯,使用腾讯im有没有插件,怎么使用腾讯云IM插件,tim-wx-sdk,聊天sdk,即时通讯im uniapp私聊/群聊/聊天室,实现IM即时通讯仿微信聊天功能,对接腾讯云IM+音视频,调用腾讯即时通信IM的示例,卡顿很卡不流畅,音视频,全局监听,仿微信IM,uni-huanxin-im,sdk,实现多端实时通

✅ 精选推荐文章 1万+

基于FreeRedis实现的.NET Redis客户端缓存缓存键条件优雅过滤

在.NET开发中,使用Redis作为缓存解决方案是很常见的。FreeRedis是一个功能强大的Redis客户端库,它提供了丰富的功能和灵活性,使我们能够轻松地与Redis进行交互。在本文中,我们将探讨如何使用FreeRedis实现缓存键条件的优雅过滤,以提高缓存的效率和准确性。

RzuScala的博客 329

Git和Github详细入门教程(别再跟我说你不会Git和Github)

Git概述 1.Git是目前世界上最先进的分布式版本控制系统。 解决的问题: 记录了每次修改的:版本,内容,操作用户,修改时间,文档名等。 2.Git和Github的区别 Git是一个分布式版本控制系统,简单的说就是一个软件,用于记录一个或若干文件内容变化,以便来查阅特定版本修订情况的软件。 Github是一个为用户提供Git服务的网站,简单说就是一个可以放代码的地方(也可以放其他内容)。Gith...

轻松玩编程 2万+

FPGA/IC 秋招笔试/面试题总结(目录)

FPGA/IC 秋招笔试/面试题总结-目录介绍 文章目录FPGA/IC 秋招笔试/面试题总结-目录介绍一、FPGA内部资源1. 什么是FPGA2.FPGA内部资源二、同步时钟、同步/异步电路1.同步时钟2.同步/异步电路三、同步复位/异步复位1.同步复位2. 异步复位3. 异步复位同步释放四、同步FIFO/异步FIFO1.同步FIFO2.异步FIFO五、FIFO最小深度计算1.FIFO最小深度2.示例分析六、逻辑电平1.TTL电平标准2.LVTTL电平标准3.CMOS电平标准4.LVCOMS电平标准5.RS

Crazzy_M的博客 2万+

Git和Github的基本用法

简单易操作的Git和Github的基本用法

yanxiang3306 4947

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

gitLab的使用 和 git 、 github、gitlab的区别

一、git 、 github、gitlab的区别 (百度相关内容得到的理解) 二、git最基本作用:版本控制 三、有集成了git的GIT安装包 github和gitlab都使用git该版本控制系统,来实现对代码的管理。 所以,原先怎么用git操作github的,那么用git操作gitlab是一样的。 https...

hellocsz的博客 3万+

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Git 和 Github 的区别?以及 Git 的起源

本文介绍4点: 1.Git 和 Github 的区别 2.Git 的起源 3.Git 的教程 4.git for windows 、git-scm 和 msysgit 的区别

mukes的博客 8527

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

git 和 github 的区别及安装

git 和 github 的区别及安装1. 什么是 Git, 与 Github 的关系(1) Git 的定义(2) Github 是什么(3) Git 和 Github 的关系2. Git 的安装(1) Windows 系统上的安装(2) Linux 系统上的安装(部分,参考 [git官网](https://git-scm.com/download/linux "Download for Linu...

苦逼小码农的博客 9983

git、Github和gitee;gitee及github的区别

文章目录关系概述使用使用Git1.Git 和 GitHub 使用入门在 Git 中设置用户名为什么 Git 总是询问我的密码?2.了解 GitGit 工作流程关联文本编辑器与 Git3.使用常见 Git 命令推送提交到远程仓库从远程仓库获取更改处理非快进错误4.管理远程仓库5.使用高级 Git 命令Gitee的使用使用Git和GitHub入门比使用GitHub Desktop 2.2更加容易 关系 概述 Github与Gitee是同一类,在云端。区别是Github是国外的,Gitee是国内的。二者的使用需要

AC_872767407的博客 7775

github和git

首先在E盘创建git练习目录下创建一个名为demo的子目录,并在其中新建一个名为hit.txt的文件,接下来我们的 Git 操作都是基于此目录和文件的。此外,在这里还要强调一点,那就是:在我们进行任何的git操作之前,我们都得先切换到 Git 的仓库目录。换言之,我们得到先进入到(我们定义的)Git 仓库的最顶层文件目录下,然后从此目录中进入 Git Bash,这样之后Git 会自动定位到进入的位置。

qq_44729609的博客 1127

git和github的关系

写在前面:我身边好多人问我git和github的区别,想必对于好多人没学过的大佬们恐怕也是一脸懵逼,但是不知道也是不行的,所以我今天就来讲一讲这二者的区别和联系。 用一句话形容这二者的关系:git是弓,你的代码是箭,github是靶子。 git是软件,它可在本地建立仓库,你写的代码的各个版本都可以存着 github是网上仓库,你写的代码的各个版本都可以存着。 历史渊源:Git比GitHub...

weibo_dm的博客 6万+

git 和github的区别有哪些

是一个版本管理工具,是可以在你电脑不联网的情况下,只在本地使用的一个版本管理工具,其作用就是可以让你更好的管理你的程序,比如你原来提交过的内容,以后虽然修改了,但是通过git这个工具,可以把你原来提交的内容重现出来,这样对于你后来才意识到的一些错误的更改,可以进行还原。SVN, CVS这类早期的集中式版本控制系统,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。因为每一次的提取操作,实际上都是一次对代码仓库的完整备份。

weixin_41883890的博客 3893
上一篇: 什么是TensorBoard?
下一篇: 【JavaWeb基础】购物车案例(修订版)
Java3y
Java3y 领域专家: 后端开发技术领域 领域专家: 后端开发技术领域
博客等级 码龄9年 1万+粉丝 509原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值