0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

了解Git和Github

GReq_mcu168 来源:玩转单片机 作者:玩转单片机 2020-10-30 11:32 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

了解Git和Github

什么是Git

Git(读音为/gɪt/)。是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

版本控制是一种记录一个或若干个文件内容变化,以便将来查阅特定版本修订情况的系统。版本控制是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理,是软件配置管理的核心思想之一。

GitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名GitHub。Github是全球最大的社交编程及代码托管。https://github.com。Github可以托管各种git库,并提供一个web界面(用户名.github.io/仓库名),作为一名编程开发人员如果不知道github那真的out了。

Github和Git是什么关系

关于github,这是一个网站,就是每个程序员自己写的程序,可以在github上建立一个网上的仓库,你每次提交的时候可以把代码提交到网上,这样你的每次提交,别人也都可以看到你的代码,同时别人也可以帮你修改你的代码,这种开源的方式非常方便程序员之间的交流和学习。

Git是一个版本管理工具,是可以在你电脑不联网的情况下,只在本地使用的一个版本管理工具,其作用就是可以让你更好的管理你的程序,比如你原来提交过的内容,以后虽然修改了,但是通过git这个工具,可以把你原来提交的内容重现出来,这样对于你后来才意识到的一些错误的更改,可以进行还原。

为什么学习github

1. GitHub 上有很多大牛出没,国外的咱先不说,就国内的像百度、腾讯、阿里之类的大公司,里面的很多工程师都在 GitHub 上安家落户,有空的时候多在 GitHub 上逛逛,关注一下大牛,没准还能搞个内推什么的。
2. GitHub 上可以接触到最新的最前沿的 IT 技术。因为,我们知道任何软件或者产品在上线发布之前,都有开发的过程和测试的过程,GitHub 上你可以接触到这些产品的初始状态、中间状态和发布状态,你可以第一时间了解到产品的动向。而且根据 GitHub 上每年发布的统计数据,你可以知道哪些技术是最火热的技术,及时跟上这些技术,而不是学一些过时的小众的技术。这个恐怕是每个搞 IT 技术的人,都非常关心的一个问题。
3. 学习优秀的开源项目
4. 关注行业前辈了解最新的行业动态

Git安装和使用

为啥要安装Git?这个就相当于你电脑的CMD命令程序。我们安装这个后就不用电脑的CMD命令了直接操作这个即可。首先就是去https://git-scm.com官网下载Git,根据你电脑系统的配置信息,下载对应的安装程序,然后开始进行下面的步骤


1.下载好Git的安装包,开始安装,打开安装包,出现如图的界面,点击Next:


2.选择你要安装的位置,我以C盘为例,路径为图中所示,安装到其他位置的话,点击Browse,选择你要安装的位置,然后点击Next,进入下一步:


3.选择你是否创建桌面快捷方式,其他默认即可,点击Next,进入下一步:


4.是否将Git快捷方式的目录加入开始菜单栏


5.这个是选择文本编辑器的方式,默认是Vim,也可以选择其他的方式,自主选择,在这里我选择的Vim默认方式。选择好文本编辑器的方式后,点击Next,进入下一个流程


6.选择安装 Git 时对环境变量PATH的影响,第一种影响较小,第三种会影响到Windows的自带工具,默认勾选中间项,建议不要修改,直接点击 “Next” 继续安装:


7.选择 Git 在使用 HTTPS 时使用的库,若无特殊需求,可保持默认选项,点击 “Next” 继续安装:


8.选择提交与拉取记录时,对换行符的处理方式,若无特殊需要,默认选择即可,点击 “Next” 继续安装:


9.选择模拟终端软件(即命令行窗口软件),若无特殊需要,可默认选择,点击 “Next” 继续安装:


10.最新功能的询问,若不想尝试尚未保证稳定性的新功能,默认不勾选,点击 “Install” 即可完成安装:


11.安装完成


12.回到桌面,点击鼠标右键,会出现两个选项Git GUI Here和Git Bash Here,在打开Cmd(Win+R),分别输入git和git --version,如果出现如下图的情况,即安装成功!

Git基本工作流程

1 Git结构

2 本地库和远程库

团队内部协作

跨团队协作

Git 命令行操作

1 本地库初始化

gitinit

执行完此命令后会在本地工作区生成一个.git文件夹。里面存放着是本地库相关的子目录和文件,不要删除,也不要胡乱修改。

2 设置签名

1.方式一(项目级别/仓库级别:仅在当前本地库范围内有效)

gitconfiguser.name'liuyao' gitconfiguser.email'liuyao@163.com'

信息保存位置:./.git/config文件

2.方式二(系统用户级别:登录当前操作系统的用户范围)

gitconfig--globaluser.name'liuyao' gitconfig--globaluser.email'liuyao@163.com'

信息保存位置:./.git/config文件

作用:区分不同开发人员的身份

辨析:这里设置的签名和登录远程库(代码托管中心github)的账号、密码没有任何关系。

项目级别优先于系统用户级别,二者都有时采用项目级别的签名.如果只有系统用户级别的签名,就以系统用户级别的签名为准,二者都没有不允许

Git基本操作

1 状态查看

gitstatus#查看工作区、暂存区状态

2 添加

gitadd[filename]#将工作区的“新建/修改”添加到暂存区

3 提交

gitcommit-m"commitmessage"[filename]#将暂存区的内容提交到本地库

4 查看历史记录

gitlog#查看版本历史记录(方式一) gitlog--pretty=oneline#查看版本历史记录(方式二) gitlog--oneline#查看版本历史记录(方式三) gitreflog#查看版本历史记录(方式四)

本地库与远程库建立连接

比如你再在github上新建了一个仓库。你要用电脑往新建的远程仓库上传东西。 1.在电脑的D盘新建一个test文件夹.当然在哪个盘都可以,我这里只是举一个例子。 在test文件夹下右键,点击git bash here。

gitinit#初始化本地库

执行完git init命令后,会在test文件夹下新建一个.git文件。注意:此文件夹是一个隐藏文件夹。 2.假如你要上传一个文本文件git.txt.

gitaddgit.txt#把工作区内容(git.txt文件)提交到暂存区

3.把暂存区的内容(git.txt文件)提交到本地库

#把暂存区的内容(git.txt文件)提交到本地库 gitcommit-m"myfirstcommit"git.txt

4.将本地库推送到远程库

#本地库推送到远程库 gitpushoriginmaster

克隆远程库

把远程库xxx克隆到本地库(前提是你已经在github上面新建了一个库,或者有远程库的地址链接)

1.克隆远程库到本地

gitclone[远程地址] #gitclonehttps://github.com/zhangsan/cdn.git

多人协作

小刘要克隆小雅的xxx远程库修改之后再提交给小雅(多个人之间的操作)

1 克隆

gitclone[小雅远程库的地址] #gitclonehttps://github.com/xiaoya-hub/cdn.git

这样你就把小雅的xxx远程库克隆到你的本地库。

2 修改文件

现在我就可以使用小雅库里面的东西了。假如我在库里面添加了一个good.txt文件。之后要把这个文件推送到小雅的远程库。

3 将修改的文件提交到暂存区

gitaddgood.txt#把工作区内容(good.txt文件)提交到暂存区

4 暂存区的内容提交到本地库

gitcommit-m"这里填备注,随便写"good.txt#把暂存区的内容(good.txt文件)提交到本地库

5 让小雅加小刘为好友

登录小雅的github 打开小雅的xxx库->settings->collaborators->填上刘尧的github用户名->点击Copy invite link->复制小雅xxx远程库地址。把地址发送给小刘,不管是微信还是QQ都可以。

6 小刘接受小雅的邀请

小刘登录自己的github,访问小雅发送给自己的链接。会发现小雅邀请自己的界面,点击接受就好了。

7 执行推送

在小刘的本地文件夹执行

gitpushoriginmaster#执行推送

解决Github下载速度慢的问题

GitHub是一个巨大的开源宝库,以及程序员和编程爱好者的聚集地,诸多优秀的开源项目全部都是位于GitHub上。但是每当我们准备去下载一个优秀的开源项目时,会发现 git clone的速度异常之慢!因为github的服务器远在美国。小项目等几分钟无所谓;一旦项目庞大起来,或者项目文件数目一多, git clone 大概率会失败!当然网上常见的诸如修改hosts、代理等方式实际使用效果并不好,而且也不稳定。

GitHub下载的加速方法:通过国内码云平台的转接,来完成GitHub上项目的下载加速。码云是马云团队开发的国内版github。

注册码云

首先确保码云上有账户,可以正常使用,没有的可以自行注册一下,注册账号这件事应该是非常的简单了。

将github的仓库转移到码云

1.点击右上角新建仓库的加号 +,选择“从 GitHub/GitLab导入仓库”菜单

2.然后填写位于 GitHub上你想 clone的仓库地址并导入

3.这一步交给码云来做速度是非常快的,一会儿功夫,码云就克隆出了一份和GitHub上一模一样的项目!

4.接下来我们通过码云上的项目地址,将项目clone到本地,这时候的clone速度就很快了,几 MB/s的速度是没问题的,很快项目就下载下来了。

这时候我们的目的已经达到了,不过不要忘了,还有一件事没做。

重新关联远端地址

要知道,这时候克隆到本地的项目关联的是码云Gitee的地址,已经和原来的GitHub项目完全脱离了,是另外一个副本。在必要情况下我们还需要重新将我们本地的项目关联到原来的GitHub项目上去,做法如下: 首先找到位于本地仓库目录下的隐藏文件夹.git,注意这个.git文件夹是隐藏的文件夹。然后再这个文件夹下找到config配置文件.将配置文件中的[remote"origin"].url字段重新关联到原来位于GitHub上的GitHub项目地址

当然你也可以通过命令行来修改远端地址,效果一样的至此大功告成,本地项目就相当于是clone自GitHub,后续提交代码,到GitHub上都没有问题。

责任编辑:lq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编辑器
    +关注

    关注

    1

    文章

    826

    浏览量

    32641
  • Git
    Git
    +关注

    关注

    0

    文章

    205

    浏览量

    16767
  • GitHub
    +关注

    关注

    3

    文章

    484

    浏览量

    18413

原文标题:零基础入门Git&Github

文章出处:【微信号:mcu168,微信公众号:硬件攻城狮】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    RISC-V工具链搭建

    https://github.com/ucb-bar/rocket-chip.git $ cdrocket-chip $ gitsubmodule update --init 2)下载
    发表于 10-29 08:02

    微软开源GitHub Copilot Chat,AI编程迎来新突破

    GitHub Copilot + vscode的组合我已经用了很久,我的代码开发效率完全提升了一个level。帮我代码提示,代码不全,注释理解生成代码等等,这些我是我经常用到的功能。 在今天凌晨4点
    的头像 发表于 07-02 09:34 800次阅读
    微软开源<b class='flag-5'>GitHub</b> Copilot Chat,AI编程迎来新突破

    Git vs Perforce P4:版本控制系统选型指南(附适用场景、团队类型)

    Git适合小团队灵活开发,而Perforce P4更擅长管理大型项目与二进制资产。但你真的了解它们各自最适合的使用场景吗?或许不是“非此即彼”,而是“如何共存”,推荐一读!
    的头像 发表于 06-19 17:04 1073次阅读
    <b class='flag-5'>Git</b> vs Perforce P4:版本控制系统选型指南(附适用场景、团队类型)

    主流版本控制工具Git vs Perforce P4:架构模式、性能、大文件管理及分支管理对比详解

    Git vs Perforce P4,如何选型?架构模式、性能、大文件管理、分支策略四大维度对比,帮你全面了解两者的核心差异,选择更合适你团队需求的版本控制系统。
    的头像 发表于 06-13 14:52 575次阅读
    主流版本控制工具<b class='flag-5'>Git</b> vs Perforce P4:架构模式、性能、大文件管理及分支管理对比详解

    如何添加一些网络上的库到mpy固件的说明或手册教程?

    吗,项目目录好多我真的看不懂,佬们救救我 repo init -u https://github.com/canmv-k230/manifest -b master --repo-url=https://github.com/canmv-k230/
    发表于 04-29 08:16

    Windows Arm64托管运行器正式支持GitHub Actions

    过去一年,Arm 与 GitHub 持续紧密合作,致力于为基于 Arm 平台的开发者打造更便捷、更高效的开发体验。GitHub 推出的 Arm 托管运行器正在革新应用程序的开发与部署流程,而近期推出
    的头像 发表于 04-28 14:23 894次阅读

    Git的常规使用:Idea集成GitHub

    登录之后点击右上角+号,New repository创建仓库,之后填写仓库名称和其他选项。
    的头像 发表于 03-13 16:08 649次阅读
    <b class='flag-5'>Git</b>的常规使用:Idea集成<b class='flag-5'>GitHub</b>

    Arm推出GitHub Copilot新扩展程序

    Arm 控股有限公司(纳斯达克股票代码:ARM,以下简称“Arm”)宣布其已正式推出专为 GitHub Copilot 设计的新扩展程序。GitHub Copilot 是全球部署最广泛的人
    的头像 发表于 02-24 10:14 884次阅读

    DeepSeek GitHub星数超OpenAI

    近日,在全球最大的代码托管平台GitHub上,DeepSeek项目取得了一项显著成就——其Star数量成功超越了OpenAI。这一变化标志着开源人工智能领域的竞争格局正在发生微妙的变化。
    的头像 发表于 02-10 18:28 1060次阅读

    嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-移植前准备之git管理内核源码

    我们前边已经介绍过Git工具,是一个非常实用的代码管理工具。如果验证编译出的内核能够正常启动,就可以将源码用git工具管理起来。可以清楚的了解源码改动记录。如果不小心把源码改乱了还可以进行版本
    发表于 01-23 10:51

    飞凌嵌入式ElfBoard ELF 1板卡-移植前准备之git管理内核源码

    我们前边已经介绍过Git工具,是一个非常实用的代码管理工具。如果验证编译出的内核能够正常启动,就可以将源码用git工具管理起来。可以清楚的了解源码改动记录。如果不小心把源码改乱了还可以进行版本
    发表于 01-22 10:39

    飞凌嵌入式ElfBoard ELF 1板卡-git管理源码之git安装和使用

    丢失,被删除意味着永远失去;为了解决这个痛点,应运而生了一批版本管理工具,如:git、svn等。其中linux当中最常用的当属git,因此学会使用git是十分必要的。
    发表于 01-14 09:08

    gitee 与 GitHub 的比较

    在软件开发领域,代码托管平台扮演着至关重要的角色。它们不仅提供了代码存储和版本控制的功能,还促进了团队协作和开源项目的共享。Gitee(码云)和GitHub是两个最著名的代码托管服务提供商,它们在
    的头像 发表于 01-06 09:47 2245次阅读

    云服务器Flexus X实例,Docker集成搭建Gitea私有仓库

    Gitea 私有仓库是一款轻量级的自托管 Git 服务,它提供了与 Github、Gitlab 等类似的功能,但允许用户在自己的服务器上部署和运行,从而完全掌控代码的存储和访问权限。
    的头像 发表于 12-29 15:51 702次阅读
    云服务器Flexus X实例,Docker集成搭建Gitea私有仓库

    GitHub Copilot 可以免费使用了!

    “  这个标题有点标题党,虽然 Github Copilot 确实是可以免费使用,但这个免费是有限制的,聊天互动每月限制50次,代码补全(或者建议)每月2000次。不过这个 Copiot 真的是很好
    的头像 发表于 12-22 11:19 4270次阅读
    <b class='flag-5'>GitHub</b> Copilot 可以免费使用了!