热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

简单介绍一下Git

文章目录简介版本控制版本控制分类git安装git操作总结简介git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。最初是Linus为了管理L


文章目录

    • 简介
    • 版本控制
    • 版本控制分类
  • git安装
  • git操作
  • 总结


简介

git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

最初是 Linus 为了管理 Linux 内核开发而开发的一个开源的版本控制软件。


版本控制


  1. 版本管理
    保存项目的每一个版本信息时,不存重复的数据,节约内存
  2. 分支管理
    团队开发中,多条生产线同时推进,提高效率
  3. 权限控制
    对团队中开发者进行权限控制,对团队外贡献的代码进行审核
  4. 历史记录
    查看修改人、日志信息等;将本地文件恢复到某一历史版本

版本控制分类

集中式:svn,各个版本存于服务器,易单点故障
分布式:git,能有效解决单点故障,C语言开发


git安装

git 支持 32 位和 64 位,需要根据你操作系统的实际情况选择。
git版本
这里我们下载
git-2.30.0-64-bit.exe
然后安装到windows即可
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
其他默认!!使用时右键–git bash here


git操作

使用git管理项目


  1. 创建一个项目,在项目目录下,初始化git仓库

git init

然后会在项目目录下生成一个隐藏文件夹.git,内部的文件不能随意修改。


  1. 设置签名
    用户名:laufing
    Email:xxxx@qq.com
    作用:区别不同的开发人员
    命令:
    项目级别—当前项目
      git config user.name laufing
      git config user.email xxxx@qq.com
      签名保存在项目目录下.git/config
    系统用户级别—登录操作系统的用户
      git config - -global user.name laufing
      git config - -global user.email xxxx@qq.com
      签名保存在~/.gitconfig
    二者的优先级:就近原则

  2. 实际操作
    在这里插入图片描述

git status #查看当前工作区、暂存区状态#所有文件增加到暂存区,也可指定一个文件
git add .
#从暂存区移除所有-
git rm --cached -r ./*#暂存区提交到本地仓库
git commit -m "描述信息"
#查看历史记录
git log

如下,可以看到提交的人、提交时间、提交描述、每次提交的索引hash值,HEAD是一个指针,指向当前版本。
若内容太多,需翻页:空格向下、b向上、q退出
在这里插入图片描述

#格式化输出版本
git log --pretty=oneline
git log --oneline
git reflog

  1. 版本切换
    1)使用索引
    2)使用^,后退一步
    3)使用~,后退n步

#随意切换
git reflog
git reset --hard 复制的索引#后退的切换
git reset --hard HEAD^ #后退一步
git reset --hard HEAD^^ #后退两步#后退n步
git reset --hard HEAD~100 #后退100步

  1. hard、soft、mixed

#查看本地文档
git help reset#reset的三个参数 index file[暂存区] working tree[工作区]
#reset --soft:仅在本地仓库移动HEAD指针
#reset --mixed:本地仓库移动指针;重置暂存区;
#reset --hard:本地仓库移动指针;重置暂存区;重置工作区
#hard使用较多

  1. 删除文件,并找回
    文件存在时的状态,需提交到本地库

#删除
rm test.txt #在git管理的项目目录下
#将删除操作,增加到暂存区
git add .
#提交本地仓库
git commit -m "测试删除"
#查看文件,已删除#恢复只需回到上一个版本,就可以实现文件的恢复
git reset --hard 索引#如果删除操作,只增加到暂存区,没有提交到本地库
#则简单恢复如下
git reset --hard HEAD

代码托管平台


  1. GitHub,国外服务器,慢
  2. 码云,国内服务器,快

代码推送到远程托管平台


  1. 查看远程仓库

git remote -v
#添加远程仓库
git remote add origin url # url为复制的远程仓库https地址

  1. 推送代码

git push origin master
git push origin master --force #强制推送

对于超时问题,就多尝试几次:

fatal: unable to access 'https://github.com/wn15239159680/vue_lauf1.git/':
Failed to connect to github.com port 443 after 21097 ms: Timed out

当远程仓库发生改变时,应该先拉取远程仓库。

git pull origin master # 拉取远程仓库

项目的分支

#查看分支
git branch
#创建分支
git branch b1
#切换到b1分支
git switch b1#将b1分支合并到master
git switch master
git merge b1

总结

以上就是今天要讲的内容,本文仅仅简单介绍了git的使用,而git还有更多的使用方法,有兴趣的同学们还可以问下度娘哦!


推荐阅读
  • svnWebUI:一款现代化的svn服务端管理软件
    svnWebUI是一款图形化管理服务端Subversion的配置工具,适用于非程序员使用。它解决了svn用户和权限配置繁琐且不便的问题,提供了现代化的web界面,让svn服务端管理变得轻松。演示地址:http://svn.nginxwebui.cn:6060。 ... [详细]
  • intellij idea的安装与使用(保姆级教程)
    intellijidea的安装与使用(保姆级教程)IntelliJ在业界被公认为最好的java开发工具,尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(gi ... [详细]
  • 本文详细介绍了git常用命令及其操作方法,包括查看、添加、提交、删除、找回等操作,以及如何重置修改文件、抛弃工作区修改、将工作文件提交到本地暂存区、从版本库中删除文件等。同时还介绍了如何从暂存区恢复到工作文件、恢复最近一次提交过的状态,以及如何合并多个操作等。 ... [详细]
  • Spring框架《一》简介
    Spring框架《一》1.Spring概述1.1简介1.2Spring模板二、IOC容器和Bean1.IOC和DI简介2.三种通过类型获取bean3.给bean的属性赋值3.1依赖 ... [详细]
  • 云原生应用最佳开发实践之十二原则(12factor)
    目录简介一、基准代码二、依赖三、配置四、后端配置五、构建、发布、运行六、进程七、端口绑定八、并发九、易处理十、开发与线上环境等价十一、日志十二、进程管理当 ... [详细]
  • 我创建了一个SSH密钥,当我以admin身份在GitBash中运行ssh-Tgit@gitlab.com时,我得到W ... [详细]
  • (1)使用vi工具vitest.sh(2)利用如下命令查看文件格式:setff或:setfileformat可以看到如下信息 ... [详细]
  • 之前项目在windows2003服务器上设置定时任务,每天执行。现在把项目移植到linux系统。也要在linux系统上设置计划任务。但是之前我从来没有做过。所以多得不 ... [详细]
  • SVN 功能说明(简版)
    Subversion(SVN)是什么?SVN是一种版本管理系统,是开源软件的基石。即使在沟通充分的情况下,多人维护同一份源代码的一定也会 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 对于一般的扩展包,我们一般直接pipinstallxxx即可安装,但是unrar直接安装后,发现并不能通过Python程序实现解压的功能& ... [详细]
  • 【BP靶场portswigger服务端10】XML外部实体注入(XXE注入)9个实验(全)
    前言:介绍:博主:网络安全领域狂热爱好者(承诺在CSDN永久无偿分享文章)。殊荣:CSDN网络安 ... [详细]
author-avatar
mobiledu2502898167
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有