返回顶部
首页 > 资讯 > 精选 >Git和Github的该如何入门
  • 320
分享到

Git和Github的该如何入门

2023-06-22 07:06:06 320人浏览 八月长安
摘要

今天就跟大家聊聊有关git和GitHub的该如何入门,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。本篇文章给大家带来了Git和Github详细入门教程,Git是目前世界上最先进的分布

今天就跟大家聊聊有关gitGitHub的该如何入门,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

本篇文章给大家带来了Git和Github详细入门教程,Git是目前世界上最先进的分布式版本控制系统,Github是一个为用户提供Git服务的网站,希望对大家有帮助。

01.Git概述

Git是目前世界上最先进的分布式版本控制系统

解决的问题:
记录了每次修改的:版本,内容,操作用户,修改时间,文档名等。

2.Git和Github的区别
Git是一个分布式版本控制系统,简单的说就是一个软件,用于记录一个或若干文件内容变化,以便来查阅特定版本修订情况的软件。

Github是一个为用户提供Git服务的网站,简单说就是一个可以放代码的地方(也可以放其他内容)。Github除了提供管理Git的WEB界面外,还提供了订阅、关注、讨论组】在线编辑器等丰富的功能。

Git 并不像 SVN 那样有个中心服务器

目前我们使用到的 Git 命令都是在本地执行,如果你想通过 Git 分享你的代码或者与其他开发人员合作。 你就需要将数据放到一台其他开发人员能够连接的服务器上。本例使用了 Github 作为远程仓库

Git的安装

02.Git的本地仓库操作

工作流程
Git本地操作的三个区域:

工作流程:

暂存区:相当于购物车存放要购买的物品最后一起付款。

2.本地仓库操作
什么是仓库?
仓库又叫做版本库,英文名 repository,我们可以简单的理解成是一个目录,用于存放代码,这个目录里面所有的文件都可以被Git管理起来,每个文件的修改,删除等操作Git都可以跟踪到。

在安装好后首次使用需要先进行全局配置:

1.点击”Git Bash Here "以打开Git命令行窗口:

$ git config --global user.name "用户名"$ git config --global user.email "邮箱地址"

设置好用户信息,当进行项目修改的时候就会记录用户名

2.创建本地仓库
当我们需要让Git 去管理某个新项目/已存在的项目的时候,就需要创建仓库。

建议使用空目录学习Git,因为操作失误产生不必要的错误。目录名尽量使用英文名。

3.创建目录

$ mkdir  目录名

也可以直接在本地以新建的方式创建。
4.在命令行中进入项目目录 pre_git

$ cd 目录名

5.Git仓库的初始化
即让Git知道需要他来管理这个目录

$ git init

执行后,打开这个项目目录下,点击隐藏目录你会发现多了一个.git文件夹。不能删除,也不能随意更改。

到这里就可以在里面进行开发。
6.Git常用指令操作
查看当前工作状态:

$ git status

作用:当我们忘记项目做到哪里的时候,比如上个厕所回来,开个会回来等。可以使用这个命令来判断下一步要干嘛。

可以在项目目录中,进行开发

8.将工作区文件添加到缓存区:

说明:git add 指令,可以添加一个文件,也可以同时添加多个文件。语法一:$ git add 文件名语法二:$ git add 文件名1 文件名2 文件名3 ......语法三:$ git add .    【添加当前目录到缓存区中】

9.提交至版本库

$ git commit -m "注释内容"

如果创建了新的文件,从add开始,重复上述操作即可。

如果修改了已提交的文件内容,再从add开始重新提交就好了。

这里的提交等操作只是提交到Git本地仓库。

Git的版本回退操作

版本回退分为两个步骤:
1.首先查看版本,确定需要回到的时刻点
指令:

$ git log$ git log --pretty=oneline

第二种指令:简化了信息。
2.回退操作:
指令:

$ git reset --hard 提交编号

执行操作后,项目目录中的文件会回到指定的时刻。

回到过去之后,这时我又想回到之前的最新的状态怎么办?
首先:查询之前的编号
指令:

$ git reflog

然后再执行

$ git reset --hard 提交编号

小结:
要想回到过去,先获取commit id ,然后通过git reset --hard回到过去。

回到未来:需要使用 git reflog 进行历史操作查询,获取最新的commit id。(编号)

可以发现在写回退指令的时候commit id 可以不用写全,git会自动识别。至少需要写前4位。

03.远程仓库

线上仓库的操作,以Github为例。(目前为Git仓库提供远程仓库的网站有很多)

1.Github线上仓库的创建


2.使用线上仓库
添加远程仓库(这里添加github)

注意:在git bash中输入 cd /D 注意盘名字一定要是大写。如不输入这个语句 不给git bash定位的话,默认的本地文件位置是在c盘中。然后再cd到以远程仓库相同名字的文件夹中。

第一种方式:基于https协议:
仓库就是目录:
1.创建空目录,名称为shop(任取)
2.复制https对应得地址。
然后在当前目录新建shop目录

$ mkdir shop$ cd ./shop

使用clone指令克隆线上仓库到本地。

$ git clone 线上仓库地址

执行后,线上的仓库就被clone下来了,如果clone下来的是一个空目录,克隆下来的目录只有隐藏的.git目录。

4.在上述操作完成后,就可以在本地仓库做对应的操作

比如:(提交至暂存区,提交到本地仓库,提交到线上仓库(远程仓库),拉取线上仓库
前面几个操作跟上面的本地仓库操作相同。

然后提交到线上仓库:

如果是首次提交,首先应获取权限:(否则会出现403的错误)
因为不是任何人都可以往线上仓库提交内容。
获取权限:
修改".git/config 文件内容:
在url这一项中:
在github.com前面加上:用户名:密码@
如:

url=Https://用户名:密码@github.com/用户名/仓库名.git

其它不变。

指令:
提交到线上仓库的指令

$ git push

提交成功之后,你会发现,线上仓库中多你提交的内容。

注意:如果你提交成功下班后:同事也向该远程仓库提交了新的内容。第二天上班时,你需要拉去线上的仓库的最新版本
使用命令:

$ git pull

因此在每天工作的第一件事就是git pull 拉取线上的最新版本,下班要做的就是 git push,将本地代码提交到线上仓库。

第二种方式:基于ssh协议(推荐使用)
该方式与前面https方式相比,只是影响github对于用户的身份鉴定方式,对于git的具体操作没有任何改变。

步骤:
1.生成客户端公私钥文件。
2.将公钥上传到Github。

实际操作:
1.创建公私钥文件

你的本地 Git 仓库和 GitHub 仓库之间的传输是通过ssh加密的,所以我们需要配置验证信息:使用以下命令生成 SSH Key:

在这里直接打开Git Bash:(也可以在桌面单击右键打开)

然后输入命令:

ssh-keygen -t rsa -C "注册邮箱"

如果你无法生成密钥(须先自行安装OpenSSH)然后在执行以上命令。
网上的一些教程使用命令:

$ ssh-keygen -t rsa-C "your_email@youremail.com"

注意:其实your_email@youremail.com表示的就是注册邮箱,即两者是相同的。

之后会要求确认路径和输入密码,我们这使用默认的一路回车就行。

2.找到id_rsa.pub文件。
成功的话会在 ~/ 下生成 .ssh 文件夹,进去,打开 id_rsa.pub,复制里面的 key。
回到 github 上,进入 Account => Settings(账户配置)。
为了验证是否成功,输入以下命令:

$ ssh -T git@github.com

结果:Hi xxxx! You’ve successfully authenticated, but GitHub does not provide shell access.

3.然后再本地新建目录(用来保存线上的项目),然后进入目录。

$ mkdir 目录名称$ cd ./目录名称/

然后克隆目录到新建的目录中:

$ git clone ssh地址

线上的仓库ssh和https地址可以在clone和download中查看
4.后续操作跟https方式一样。

相比于https,这种方式一旦配置好后,以后的项目就不需要一个个去配置用户名和密码了,可以说一劳永益。所以推荐使用这种方式

05.Git的分支操作

什么是分支 ?
即项目的分支(不同的功能):
所有的分支组成一个项目。

在版本回退的内容中,每次提交都会有记录,Git把他们串成时间线,形成类似于时间轴的东西,这个时间轴就是一个分支,我们称之为master分支。

在开发的时候往往是团队协作,多人进行开发,因此光有一个分支是无法满足多人同时开发的需求的,并且在分支上工作并不会影响其他分支的正常使用,会更加安全,Git鼓励开发者使用分支去完成一些开发任务。

分支的相关指令:

查看分支:git branch创建分支:git branch 分支名切换分支:git checkout 分支名删除分支:git branch -d 分支名合并分支:git merge 被合并的分支

注意:可以使用"git checkout -b 分支名" 指令来切换分支,-b选项表示创建并切换,相当于是两个操作指令。

含"*"表示当前分支。

可以看出我们都是对分支进行操作。

删除分支之前,需要退出该分支,既不能在使用中删除。

06.冲突的产生与解决

案例:模拟冲突
1.我下班之后,同事对线上项目内容进行了修改,此时本地仓库的内容与线上仓库内容不一致,第二天我忘记做git pull操作,而是直接对本地文件进行修改。
当进行提交时,会报错。
2.解决冲突
先进行指令"git pull"操作。

3.打开冲突文件,解决冲突。
和提交内容的用户商量保存哪些内容。删除哪些内容。

然后重新提交后,在进行push操作即可。

这里可以看到上班前进行 git pull 的重要性。

07.Git实用功能

1.图形管理工具

Github for Desktop
对于经常使用Github的开发人员来说是非常便捷的工具

Source tree
老牌的Git GUI管理工具,适合初学者。

TortoiseGit
对于熟悉SVN的开发人员来说,非常友善。其前辈TortoiseSVN。

自带的Git GUI管理工具。

08.忽略文件

项目中存在万年不变的目录,例如CSS,js,images等,或者还有些目录即便有改动,我们也不想让其提交到远程的文档,此时我们可以使用"忽略文件”机制来实现需求。

忽略文件需要新建一个名为 .gitignore的文件,该文件用于声明忽略文件或不忽略文件的规则,规则对当前目录及其子目录生效。

注意:该文件因为没有文件名,没办法在windows目录下直接创建,可以通过命令行Git Bash来创建。

常见的规则如下:1.过滤整个文件夹      /mtk/2.过滤所有.zip文件    *.zip3.过滤某个具体文件    /mtk/do.c4.不过滤具体某个文件  lindex.PHP

新建.gitignore的文件
指令:

$ touch .gitignore

配置文件.gitignore:
如:
1.忽略/js目录
/js/

09.Github的基本概念

作用:借助github托管项目代码。
1.仓库(Repository)
仓库即你的项目,你想在Github上开源一个项目,那就必须要新建一个Repository,如果开源的项目多了,你就拥有多个Repositories。

2.收藏(star)
意为收藏项目的人数。方便下次查看。

3.复制克隆项目(Fork)
浏览他人项目时,点击fork,会在自己的账号里新建一个相同的仓库,该仓库是独立存在的,但是会显示 forked from 谁的仓库。

4.发起请求(Pull Request)
这是基于Fork的,李四在自己克隆的项目里进行改进完成后,想要将自己改进的项目合并到原来的项目中,于是他就发送了一个Pull Request,给原项目的创建人。假如你是这个项目的创建人,你就可以收到这个请求,这时候你会仔细review他的代码,如果觉得不错,就可以接受他的请求,这时候他做的改进,在你的项目里就有了。

步骤:
1.fork项目
2.修改fork的项目
3.新建pull request
4.等待项目新建者合并项目
5.关注(Watch)
如果你关注了某个项目,那么以后只要这个项目有任何的更新,都会接收到通知。

6.事务卡片(Issue)
就是你开源了一个项目,别人再查看你的项目时发现了Bug,或则有些地方做的不好,他就可以给你提个Issue,即问题,然后你看到了这些问题就可以去完善,完善好了就可以将其一个个的Close掉。
即发现代码Bug,但是目前没有成型的代码,需要讨论时使用。
如:别人给Itcastphpgit2提交一个issue

主页概念:
1.Github主页
显示用户动态以及关注用户或关注仓库的动态。

2.仓库主页

3.个人主页
个人信息

官方网址:Github.com

新建Github账户:

注意:github服务器在国外,所以访问较慢或者无法访问。

根据操作验证邮箱,创建远程仓库。

远程仓库的操作:

1.新建文件
2.编辑文件

点击文件名,然后点击“小笔"图案。

3.上传文件
点击上传文件,然后加描述。(Upload files)

4.搜索仓库文件
点击搜索(Find file)

5.下载项目
点击Clone or download

10.github Pages搭建网站

个人站点
访问:
https://用户名.github.io

搭建步骤
1.创建个人站点–>新建仓库(注:仓库名必须是【用户名.github.io】

在仓库下新建index.html的文件即可。

注意:github pages 仅支持静态网页
2.仓库里只能是.html文件。

看完上述内容,你们对Git和Github的该如何入门有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程网精选频道,感谢大家的支持。

--结束END--

本文标题: Git和Github的该如何入门

本文链接: https://lsjlt.com/news/303506.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Git和Github的该如何入门
    今天就跟大家聊聊有关Git和Github的该如何入门,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。本篇文章给大家带来了Git和Github详细入门教程,Git是目前世界上最先进的分布...
    99+
    2023-06-22
  • kafka该如何入门
    kafka该如何入门,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。背景:当今社会各种应用系统诸如商业、社交、搜索、浏览等像信息工厂一样不断的生产出各种信息,在大数据时代,我...
    99+
    2023-06-19
  • Linux deploy该如何入门
    今天就跟大家聊聊有关Linux deploy该如何入门,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。作为一名程序员,不管是前端还是后端,自然是离不开和服务器打交道的。比如我就一直想有...
    99+
    2023-06-28
  • SAP PI该如何入门
    今天给大家介绍一下SAP PI该如何入门。文章的内容小编觉得不错,现在给大家分享一下,觉得有需要的朋友可以了解一下,希望对大家有所帮助,下面跟着小编的思路一起来阅读吧。SAP PI入门SAP ERP是什么对于任何业务——无论是大的还是小的—...
    99+
    2023-06-05
  • Python、Git和大数据:如何快速入门?
    Python、Git和大数据是现代计算机科学中非常重要的概念。Python是一种高级编程语言,被广泛用于数据科学、机器学习、人工智能等领域。Git是一种版本控制系统,被广泛用于软件开发和团队协作。大数据是指数据集合过大,无法使用传统数据处...
    99+
    2023-10-13
    git 大数据 numy
  • PHP和Git一起学习,如何快速入门?
    随着互联网技术的快速发展,PHP和Git已经成为了很多Web开发人员必须学习的技能。PHP是一种开源的脚本语言,它可以被嵌入到HTML中,用于Web开发。而Git则是一种分布式版本控制系统,可以用于管理代码库。本文将介绍如何快速入门PHP...
    99+
    2023-10-24
    git 教程 numpy
  • Git和Github的基本用法
    目录 背景 下载安装 安装 git for windows 安装 tortoise git 使用 Github 创建项目 注册账号 创建项目 下载项目到本地 Git 操作的三板斧 放入代码 三板斧第一招: git add 三板斧第二招: g...
    99+
    2023-09-21
    html 前端 git github
  • 聊聊git和github的区别
    Git是一种分布式版本控制系统,它能够记录代码的变化并帮助开发者管理版本的历史记录。Git的创建者是Linus Torvalds,它于2005年发布并在开源社区中推广,现在已成为开发者们最常用的版本控制工具之一。GitHub则是一个在线代码...
    99+
    2023-10-22
  • git和github的关系是什么
    本篇内容介绍了“git和github的关系是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!git和github的关系是:github是基...
    99+
    2023-07-02
  • git和github的区别有哪些
    随着计算机技术的迅猛发展,团队协作成为了一种业界标准。而版本控制则成为协作的一个重要方面。版本控制工具有很多,其中Git是广泛使用的一个版本控制工具,而GitHub则是Git的一个云端服务。对于初学者来说,理解Git和GitHub的区别是非...
    99+
    2023-10-22
  • Java Git 入门:版本控制的入门指南
    版本控制系统 (VCS) 是软件开发中不可或缺的工具,它允许开发人员跟踪和管理代码更改。Git 是一个流行且功能强大的 VCS,广泛应用于 Java 开发中。本指南将介绍 Git 的基本概念和操作,为 Java 开发人员提供版本控制的基础...
    99+
    2024-04-02
  • 简单介绍Git和GitHub的区别
    在软件开发和版本控制的领域,Git和GitHub是两个经常被提及的工具。尽管二者常常被混淆,甚至被认为是同一个概念,他们有着不同的功能和作用。本文将简单介绍Git与GitHub的区别。Git是一款免费开源的分布式版本控制系统。它最初由Lin...
    99+
    2023-10-22
  • 什么是 go npm git 教程?如何快速入门?
    在如今的互联网时代,开发者们需要掌握多种工具和技术,以便更好地开发出高质量的应用程序。在这些工具中,Go、NPM和Git是三种非常重要的工具。本文将介绍这三种工具的基本概念和使用方法,以便初学者快速入门。 什么是Go? Go是一种由Goog...
    99+
    2023-10-16
    npm git 教程
  • git中diff的含义该如何理解
    这篇文章给大家介绍git中diff的含义该如何理解,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。在git中,diff的含义是“差异”、“不同”;diff命令用于比较文件的不同,即比较文件在暂存区和工作区的差异,可以显示...
    99+
    2023-06-26
  • 简单对比:github和git的区别浅析
    在开发软件和网站时,版本控制是至关重要的一步,尤其是现在的开发环境变得更加复杂而庞大。Git 是一个流行的分布式版本控制系统,而 Github 则是一个基于 Git 的代码托管服务,也是开源社区中的重要组成部分。尽管它们的名字很相似,但它们...
    99+
    2023-10-22
  • JavaScript入门应该看的书有哪些
    这篇文章主要介绍了JavaScript入门应该看的书有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。   入门书籍   看完之后基本...
    99+
    2024-04-02
  • Linux实时日志监控:Python新手应该如何入门?
    在Linux系统中,日志是一个非常重要的组成部分,它记录了系统的运行状态、错误信息以及用户的操作记录等等。实时监控日志可以及时发现系统运行中的问题,避免出现严重的故障。本文将介绍如何使用Python实现Linux实时日志监控。 一、日志文...
    99+
    2023-08-28
    实时 日志 linux
  • npm和git模块的Python加载器:快速入门指南。
    npm和git模块的Python加载器:快速入门指南 在Python开发过程中,我们经常需要使用不同的模块来帮助我们完成各种任务。而npm和git模块是两个非常常用的模块,它们可以帮助我们快速下载和安装其他的Python模块。在本文中,我们...
    99+
    2023-07-24
    load npm git
  • 从入门到精通Python教程:如何使用git来load你的代码和数据?
    Python是一种高级编程语言,广泛应用于数据科学、机器学习、人工智能等领域。而git则是一种版本控制工具,可以让你轻松地管理你的代码和数据。本篇文章将向大家介绍如何使用git来load你的代码和数据,从入门到精通Python教程。 一、G...
    99+
    2023-06-26
    教程 load git
  • 如何入门MongoDB
    今天就跟大家聊聊有关如何入门MongoDB,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。NoSQL 非关系型数据库MongoDB 是一个基于分布式文...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作