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

Git(一)版本控制、环境配置、工作原理

狂神说Git文档狂神说视频地址版本控制版本控制是一种在开发过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以

狂神说Git文档
狂神说视频地址

版本控制

版本控制是一种在开发过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术
分布式版本控制Git
没有中央服务器,每个个体都有一个完整的版本库

环境配置

官网下载这个比较慢
可以使用淘宝镜像
淘宝镜像官网找到对应版本下载即可
Git Bash:Unix与linux风格的命令行,使用最多,推荐最多
Git CMD:windows风格的命令行
Git GUI:图形界面的Git
附:文件路径要用 ’ / ’ ,不是 ’ \ ’
Git 配置
查看不同级别的配置文件

#查看系统config
git config --system --list#查看当前用户(global)配置
git config --global --list

Git的相关配置文件
1)Git\etc\gitconfig:Git安装目录下的gitconfig --system 系统级

设置用户名与邮箱(用户标识,必要)
安装好Git,要首先配置你的用户名称和e-mail地址,之后每次Git提交都会使用该信息,它被永久的嵌入到你的提交中

git config --global user.name "xxxx"
git config --global user.email "xxxx"

这些在计算机内也可以查到(C:\Users.gitconfig)

[user]name = XXXemail = XXX

Git的工作原理

Git有三个工作区域:工作目录(Working Directory)暂存区(Stage/index)资源库(Repository)或者(Git Directory),如果存在**远程git仓库(Remote Directory)**就可以分为四个工作区域。文件在这四个区域之间的转换关系如下。
在这里插入图片描述
Workspace :工作区,放项目代码的地方
Index/Stage :暂存区,用于存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息
Repository :仓库区(或本地仓库),就是安全存放数据的位置,这里有你提交到所有版本的数据。其中HEAD指向最新存放仓库的版本
Remote:远程仓库,托管代码的服务器
本地三个区域确切的说是git仓库中HEAD指向的版本
工作区域
在这里插入图片描述
Directory :使用Git管理的一个目录,也就是一个仓库,包含我们的工作空间和Git的管理空间。
WorSPace:需要进行Git进行版本控制的目录和文件,这些目录和文件组成了工作空间。
.git :存放Git管理信息的目录,初始化仓库的时候自动创建。
Index/Stage:暂存区,或者叫待提交更新区,在提交进入repo之前,我们可以把所有的更新放在暂存区。
Local Repo:本地仓库,一个存放在本地的版本库;HEAD会只是当前的开发者(branch)
Stash:隐藏,是一个工作状态保存栈,用于保存、恢复WorkSpace中的临时状态。
工作流程
1.在工作目录中添加,修改文件
2.将需要进行版本管理的文件放入暂存区域
3.将暂存区域的文件提交到git仓库
因此,git管理文件有三种状态:已修改(modified),已暂存(staged),已提交(committed)
在这里插入图片描述


推荐阅读
  • SecureCRT是一款功能强大的终端仿真软件,支持SSH1和SSH2协议,适用于在Windows环境下高效连接和管理Linux服务器。该工具不仅提供了稳定的连接性能,还具备丰富的配置选项,能够满足不同用户的需求。通过SecureCRT,用户可以轻松实现对远程Linux系统的安全访问和操作。 ... [详细]
  • 您的数据库配置是否安全?DBSAT工具助您一臂之力!
    本文探讨了Oracle提供的免费工具DBSAT,该工具能够有效协助用户检测和优化数据库配置的安全性。通过全面的分析和报告,DBSAT帮助用户识别潜在的安全漏洞,并提供针对性的改进建议,确保数据库系统的稳定性和安全性。 ... [详细]
  • Ping 命令的高级用法与技巧
    本文详细介绍了 Ping 命令的各种高级用法和技巧,帮助读者更好地理解和利用这一强大的网络诊断工具。 ... [详细]
  • 本文详细介绍了在 Ubuntu 系统上搭建 Hadoop 集群时遇到的 SSH 密钥认证问题及其解决方案。通过本文,读者可以了解如何在多台虚拟机之间实现无密码 SSH 登录,从而顺利启动 Hadoop 集群。 ... [详细]
  • Linux CentOS 7 安装PostgreSQL 9.5.17 (源码编译)
    近日需要将PostgreSQL数据库从Windows中迁移到Linux中,LinuxCentOS7安装PostgreSQL9.5.17安装过程特此记录。安装环境&#x ... [详细]
  • 性能测试中的关键监控指标与深入分析
    在软件性能测试中,关键监控指标的选取至关重要。主要目的包括:1. 评估系统的当前性能,确保其符合预期的性能标准;2. 发现软件性能瓶颈,定位潜在问题;3. 优化系统性能,提高用户体验。通过综合分析这些指标,可以全面了解系统的运行状态,为后续的性能改进提供科学依据。 ... [详细]
  • 本文介绍了 Linux 系统中用于定期执行任务的 cron 服务及其配置方法。通过 crond 和 crontab 命令,用户可以轻松地安排系统和用户级别的周期性任务。 ... [详细]
  • 本文介绍了如何在GitHub上设置多个SSH Key,以解决原有Key失效的问题,并确保不同项目使用不同的私钥进行安全访问。 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • 本文详细介绍了如何解决DNS服务器配置转发无法解析的问题,包括编辑主配置文件和重启域名服务的具体步骤。 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • 使用虚拟机配置服务器
    本文详细介绍了如何使用虚拟机配置服务器,包括购买云服务器的操作步骤、系统默认配置以及相关注意事项。通过这些步骤,您可以高效地配置和管理您的服务器。 ... [详细]
  • 如何在Linux服务器上配置MySQL和Tomcat的开机自动启动
    在Linux服务器上部署Web项目时,通常需要确保MySQL和Tomcat服务能够随系统启动而自动运行。本文将详细介绍如何在Linux环境中配置MySQL和Tomcat的开机自启动,以确保服务的稳定性和可靠性。通过合理的配置,可以有效避免因服务未启动而导致的项目故障。 ... [详细]
  • CentOS 7 中 iptables 过滤表实例与 NAT 表应用详解
    在 CentOS 7 系统中,iptables 的过滤表和 NAT 表具有重要的应用价值。本文通过具体实例详细介绍了如何配置 iptables 的过滤表,包括编写脚本文件 `/usr/local/sbin/iptables.sh`,并使用 `iptables -F` 清空现有规则。此外,还深入探讨了 NAT 表的配置方法,帮助读者更好地理解和应用这些网络防火墙技术。 ... [详细]
  • 在CentOS 7环境中安装配置Redis及使用Redis Desktop Manager连接时的注意事项与技巧
    在 CentOS 7 环境中安装和配置 Redis 时,需要注意一些关键步骤和最佳实践。本文详细介绍了从安装 Redis 到配置其基本参数的全过程,并提供了使用 Redis Desktop Manager 连接 Redis 服务器的技巧和注意事项。此外,还探讨了如何优化性能和确保数据安全,帮助用户在生产环境中高效地管理和使用 Redis。 ... [详细]
author-avatar
shouhou1213_491
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有