• Git入门


    一、Git介绍

    概述:

    工作流程

    二、Git安装  

    三、Git使用

    1.本地仓库

    1.1 Git本地操作的三个区域:

    1.2工作流程:

    1.3基本配置:

    1.4创建仓库:

    1.5Git常见命令:

    1.6版本回退:

    2.远程仓库

    2.1Git和GitHub区别:

    2.2Github注册:

    2.3克隆GitHub上的仓库到文件夹:

    3.忽略文件


    一、Git介绍

    概述:

            Git是分布式的,Git不需要有中心服务器,我们每台电脑拥有的东西都是一样的。我们使用Git并且有个中心服务器,仅仅是为了方便交换大家的修改,但是这个服务器的地位和我们每个人的PC是一样的。我们可以把它当做一个开发者的pc就可以就是为了大家代码容易交流不关机用的。没有它大家一样可以工作,只不过“交换”修改不方便而已。

            git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。Git是Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。同生活中的许多伟大事物一样,Git 诞生于一个极富纷争大举创新的年代。Linux 内核开源项目有着为数众多的参与者。 绝大多数的 Linux 内核维护工作都花在了提交补丁和保存归档的繁琐事务上(1991-2002年间)。 到 2002 年,整个项目组开始启用一个专有的分布式版本控制系统 BitKeeper 来管理和维护代码。

            到了 2005 年,开发 BitKeeper 的商业公司同 Linux 内核开源社区的合作关系结束,他们收回了Linux 内核社区免费使用 BitKeeper 的权力。 这就迫使 Linux 开源社区(特别是 Linux 的缔造者Linus Torvalds)基于使用 BitKeeper 时的经验教训,开发出自己的版本系统。他们对新的系统制订了若干目标:

            速度、简单的设计、对非线性开发模式的强力支持(允许成千上万个并行开发的分支)、完全分布式、有能力高效管理类似 Linux 内核一样的超大规模项目(速度和数据量)

    工作流程

    • 1. clone(克隆): 从远程仓库中克隆代码到本地仓库
    • 2. checkout (检出):从本地仓库中检出一个仓库分支然后进行修订
    • 3. add(添加): 在提交前先将代码提交到暂存区
    • 4. commit(提交): 提交到本地仓库。本地仓库中保存修改的各个历史版本
    • 5. fetch (抓取) : 从远程库,抓取到本地仓库,不进行任何的合并动作,一般操作比较少。
    • 6. pull (拉取) : 从远程库拉到本地库,自动进行合并(merge),然后放到到工作区,相当于 fetch+merge
    • 7. push(推送) : 修改完成后,需要和团队成员共享代码时,将代码推送到远程仓库

    二、Git安装  

             官网:https://git-scm.com/download

            傻瓜式安装(可能中间更改安装路径)

    三、Git使用

    1.本地仓库

    1.1 Git本地操作的三个区域:

    1.2工作流程:

    1.3基本配置:

    • 在安装好后首次使用需要先进行全局配置
    • 桌面空白处右键,点击“Git Bash Here”以打开Git命令行窗口

    • 在窗口中输入如下命令
      1. $ git config --global user.name "用户名"
      2. $ git config --global user.email "邮箱地址"

            注意: 

            当我们需要让Git去管理某个新项目/已存在项目的时候,就需要创建仓库了。注意,创建仓库时使用的目录不一定要求是空目录,选择一个非空目录也是可以的,但是不建议在现有项目上来学习Git,否则造成的一切后果概不负责!

            为了避免在学习或使用过程中出现各种奇葩问题,请不要使用包含中文的目录名(父目录亦是如此)。

    1.4创建仓库:

    • 鼠标右键,新建一个文件夹【如果学习过Linux,可以直接在Git Bash Here中通过mkdir命令创建文件夹】
    • 在新文件夹中右键Git Bash Here,进入项目目录
    • 输入初始化指令:git ini
    • 执行之后会在项目目录下创建“.git”的隐藏目录,这个目录是Git所创建的,不能删除,也不能随意更改其中的内容

    1.5Git常见命令:

    • 查看当前状态:git status
    • 添加到缓存区:git add 文件名
      • git add指令,可以添加一个文件,也可以同时添加多个文件。
      • 语法1:git add 文件名
      • 语法2:git add 文件名1 文件名2 文件名3 …
      • 语法3:git add . 【添加当前目录所有文件到缓存区中】
    • 提交至版本库:git commit -m “注释内容”

    1.6版本回退:

    • 查看版本:git log [option]【可直接使用git log】
      • option:
      • --all 显示所有分支
      • --pretty=oneline 将提交信息显示为一行
      • --abbrev-commit 使得输出的commitId更简短
      • --graph 以图的形式显示
    • 回退版本:git reset --hard 提交编号
    • 查看历史操作:git reflog
      • 回到过去之后,要想再回到之前最新的版本的时候,则需要使用git reflog指令去查看历史操作,以得到最新的commit id

    2.远程仓库

    2.1Git和GitHub区别:

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

            Github(https://www.github.com)是一个为用户提供Git服务的网站,简单说就是一个可以放代码的地方(不过可以放的当然不仅是代码)。Github除了提供管理Git的web界面外,还提供了订阅、关注、讨论组、在线编辑器等丰富的功能。Github被称之为全球最大的基友网站。

    2.2Github注册

            Github官网:https://github.com/

            根据提示注册,可以使用浏览器的翻译功能(推荐使用edge,谷歌的翻译服务已经在大陆停止了)

            注册完成后点击新建仓库

            按照下图所示步骤创建 

            创建好线上仓库后,需要建立个人访问令牌 

            由于GitHub自21 年 8 月 13 后不再支持用户名密码的方式验证了,因此需要创建个人访问令牌(personal access token)。

     

            根据所需选过期时间,建议设置成永远,以免麻烦,建议所有选项都选上

            点击 Generate token 生成令牌 

            将生成的令牌拷贝下来,记得保存,下次你就看不到了!!!

    2.3克隆GitHub上的仓库到文件夹:

            输入指令:git clone 线上仓库地址

                    地址获取【这里使用http协议】

            在现在的仓库上做对应的操作(提交暂存区、提交本地仓库、提交线上仓库、拉取线上仓库)

            在提交到线上仓库之前需要先给你的本地仓库权限,让它可以访问到线上仓库

    • 点击隐藏文件.git,找到config文件

    • 用记事本打开,找到打码的这一行

    • 按照 https://@github.com//.git 修改
      • 换成你自己得到的令牌。是你自己github的用户名,是你的项目名称
    1. 提交到线上仓库的指令:git push
    2. 拉取线上仓库的指令:git pull

    3.忽略文件

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

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

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

            常见规则写法:

    1. 1/mtk/               过滤整个文件夹
    2. 2*.zip                过滤所有.zip文件
    3. 3/mtk/do.c           过滤某个具体文件
    4. 4) !index.php                 不过滤具体某个文件    
    5. 在文件中,以#开头的都是注释。

             示例

            1.编写文件中的规则

            2.上传线上仓库

             3.观察线上仓库,发现没有js文件夹

  • 相关阅读:
    drawio特性
    selenium的使用
    Vsftp安装配置(超详细版)
    Python入门学习15(面向对象)
    利用python工具提取多个word中的图片和表格
    无主复制系统(2)-读修复和反熵
    CSS3媒体查询与页面自适应
    java EE初阶 — 线程的状态
    从普通进阶成优秀的测试/开发程序员,一路过关斩将
    QT关于界面常用设置
  • 原文地址:https://blog.csdn.net/qq_61228493/article/details/127716249