怎么做网站卖空间,场景营销,只做传统嫁衣网站,网站建设语言学什么Git分布式版本控制工具
介绍 Git是一个开源的分布式版本控制系统#xff0c;用于敏捷高效地处理任何或小或大的项目。Git是由Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。Git可以帮助开发者们管理代码的版本#xff0c;避免代码冲突#…Git分布式版本控制工具
介绍 Git是一个开源的分布式版本控制系统用于敏捷高效地处理任何或小或大的项目。Git是由Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。Git可以帮助开发者们管理代码的版本避免代码冲突方便合并代码等。而在当下Git已经成为最重要的开发工具之一
什么是版本控制
前面说了这么多肯定会有博友会问既然Git是一个版本控制工具那版本控制又是什么呢
版本控制是一种记录一个或若干文件内容变化以便将来查阅特定版本修订情况的系统。它可以帮助你管理项目中的文件、代码和数据跟踪它们的变化以及协同团队成员之间的工作。
举个例子对于软件来说我们所知的修图软件ps有2023版、2022版等不同版本而代码编辑器vscode也有2021版、2019版等多个版本。这里所指的就是这些软件的版本。对于文件来说版本控制也是非常重要的。无论是文档、图片还是代码文件我们都可能需要创建不同版本的副本来追踪和管理变化。
举个例子假设你正在编辑一份报告文档你可能会经历多次修改和修订。每次修改后你可以使用版本控制系统保存一个新的版本以便随时回溯到之前的版本。这样如果你发现某个修改有问题或者想要查看之前的更改你可以轻松地找到并恢复到之前的版本。
另外版本控制也可以用于团队协作。当多个人同时编辑同一个文件时版本控制系统可以自动检测冲突并帮助解决。每个人所做的修改都会被视为不同的版本系统会将它们合并在一起确保最终的文件是完整且没有冲突的。
为什么要学习Git
常见的版本控制工具有Git、SubversionSVN、Mercurial等而Git因为其开源的特性已经是现在最流行的版本控制工具
Git不仅可以进行版本控制还能将文件内容以及版本记录保存在远程服务器上。这样无论你在哪里只要有网络连接就可以获取到你的项目文件极大地提高了工作的便捷性。
虽然Git在存储空间上比SVN更占用空间因为Git在每个端都保留了所有的版本历史但是其在流行程度、功能丰富方面却比SVN有优势。Git 相对于SVN不仅仅是个版本控制系统它也是个内容管理系统工作管理系统等。因此学习Git无疑是一个值得的选择。
git工作原理 / 流程 #mermaid-svg-CiC2Hopl7lu7GilG {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-CiC2Hopl7lu7GilG .error-icon{fill:#552222;}#mermaid-svg-CiC2Hopl7lu7GilG .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-CiC2Hopl7lu7GilG .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-CiC2Hopl7lu7GilG .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-CiC2Hopl7lu7GilG .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-CiC2Hopl7lu7GilG .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-CiC2Hopl7lu7GilG .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-CiC2Hopl7lu7GilG .marker{fill:#333333;stroke:#333333;}#mermaid-svg-CiC2Hopl7lu7GilG .marker.cross{stroke:#333333;}#mermaid-svg-CiC2Hopl7lu7GilG svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-CiC2Hopl7lu7GilG .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-CiC2Hopl7lu7GilG .cluster-label text{fill:#333;}#mermaid-svg-CiC2Hopl7lu7GilG .cluster-label span{color:#333;}#mermaid-svg-CiC2Hopl7lu7GilG .label text,#mermaid-svg-CiC2Hopl7lu7GilG span{fill:#333;color:#333;}#mermaid-svg-CiC2Hopl7lu7GilG .node rect,#mermaid-svg-CiC2Hopl7lu7GilG .node circle,#mermaid-svg-CiC2Hopl7lu7GilG .node ellipse,#mermaid-svg-CiC2Hopl7lu7GilG .node polygon,#mermaid-svg-CiC2Hopl7lu7GilG .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-CiC2Hopl7lu7GilG .node .label{text-align:center;}#mermaid-svg-CiC2Hopl7lu7GilG .node.clickable{cursor:pointer;}#mermaid-svg-CiC2Hopl7lu7GilG .arrowheadPath{fill:#333333;}#mermaid-svg-CiC2Hopl7lu7GilG .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-CiC2Hopl7lu7GilG .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-CiC2Hopl7lu7GilG .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-CiC2Hopl7lu7GilG .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-CiC2Hopl7lu7GilG .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-CiC2Hopl7lu7GilG .cluster text{fill:#333;}#mermaid-svg-CiC2Hopl7lu7GilG .cluster span{color:#333;}#mermaid-svg-CiC2Hopl7lu7GilG div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-CiC2Hopl7lu7GilG :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} fetch/clone checkout push checkout add commit Remote Repository workspace lndex Workspace工作区 Index / Stage暂存区 Repository仓库区或本地仓库 Remote远程仓库
这个流程图描述了 Git 的常用命令之间的关系
开发人员可以使用 git clone 从远程仓库克隆项目到本地。他们可以使用 git push 将本地仓库的更改推送到远程仓库。他们可以使用 git add 将文件添加到暂存区。然后使用 git commit 将暂存区的更改提交到本地仓库。使用 git checkout 可以在分支之间切换以及创建新的分支。
git pull 命令包含在 git clone 和 git checkout 中因为它用于从远程仓库拉取最新更改到本地仓库。
1. Git安装配置 在使用Git之前我们需要先安装Git。Git目前支持在Linux/Unix、Solaris、Mac和Windows平台上运行。 Git的各平台安装包下载地址如下https://git-scm.com/downloads 点击Windonws版本安装即可完成安装之后就可以使用命令行的 git 工具 我们点击右键这里会出现两个新的右键菜单一个叫做Git GUI here一个叫做Git Bash here。
Git GUI here就是它自带的客户端工具Git Bash here是一个命令行窗口
基本配置
点击Git Bash here在命令行窗口进行一下配置
1.设置用户信息
用户名
git config --global user.name 注册名邮箱
git config --global user.email 注册邮箱2.查看配置信息
查看全局配置信息
git config --global --list这将列出全局配置信息包括用户名、邮箱等。
2. 远程仓库配置 远程仓库有很多比如github国内的码云局域网自建git服务器托管在其他地方的服务器本文以github为例 网址https://github.com没有注册的可以先去注册一下
新建仓库 点击右上角加号new repository
下一步
填写完成后 点击右下发创建存储库
如我已经建立好的仓库
3. 生成配置SSH git客户端安装后如何和远程仓库如github连接呢我们使用SSH。
SSH是Secure Shell的缩写它是一种用于安全远程登录到计算机系统并在网络上传输数据的协议。SSH通过加密的方式保护数据在网络上传输的安全性因此它广泛应用于远程管理和文件传输
我们刚注册完账号后还没有配置SSH密钥我们先生成一个SSH
检查是否已有SSH密钥对
在终端Linux和macOS或命令提示符Windows中运行以下命令来检查是否已经存在SSH密钥对
ls -al ~/.ssh如果已经存在密钥对则会显示在该目录下。
生成SSH以有SSH可以跳过这一步
ssh-keygen -t rsa -C 自己的邮箱生成成功如下图所示 SSH文件存放在C:/User/用户/.ssh下 id_rsa: 这是你的SSH私钥文件。私钥文件用于身份验证通常不应该泄露给其他人。 id_rsa.pub: 这是与私钥相关联的公钥文件。公钥文件可以与他人共享以便他们将其添加到他们的服务器上以允许你通过私钥进行身份验证 如果找不到C:/User/用户/.ssh
生成一个新的SSH密钥 打开 Git Bash输入如下命令然后连续按三个回车即可
ssh-keygen -t rsa -C 你的邮箱然后会出来提示Enter file in which to save the key 后面是一个路径你就会找到你想要的.ssh文件夹了去电脑里找吧
github配置SSH
用记事本打开id_rsa.pub文件全选复制全文
打开github 点击右上角用户头像 点击设置 点击SSH密钥
点击New SSH key创建一个新SSH密钥
起一个标题将之前复制的密钥粘贴上去
测试SSH连接在控制台输入
ssh -T gitgithub.com按照提示输入yes回车提示successfully之类的就说明SSH连接正常github上的钥匙也会变成绿色
4. 推送文件到远程仓库 建立本地仓库
选择一个需要版本管理的项目文件夹这里以我桌面的一个文件夹为例 打开文件夹右键 git bash中执行命令将该文件夹初始化为一个仓库
git init执行命令后文件夹内会出现一个隐藏的文件夹.git没有的话设置一下文件夹选项显示隐藏文件
远程推送文件
基本流程:add-commit-push 添加并提交文件到本地仓库 使用 git add 命令将文件添加到暂存区然后使用 git commit 命令将文件提交到本地仓库 git add 文件名
git commit -m 提交信息连接到远程仓库 如果还没有连接到远程仓库你需要使用 git remote add 命令添加远程仓库地址 git remote add origin 远程仓库URL其中 远程仓库URL 是你在GitHub上创建的仓库的地址。 推送本地提交到远程仓库 一旦连接到了远程仓库你可以使用 git push 命令将本地提交推送到远程仓库 git push origin 分支名其中 分支名 是你要推送到的远程仓库的分支名称。 如果想要首次推送到 master主要分支加上 -u 参数会将本地分支与远程分支关联起来。 git push -u origin master提交成功
常用的Git命令及其用法 git init初始化一个新的Git仓库。 git initgit clone克隆现有仓库到本地。 git clone 仓库URLgit add将文件添加到暂存区。 git add 文件名git commit将暂存区中的文件提交到本地仓库。 git commit -m 提交信息git status查看当前工作区和暂存区的状态。 git statusgit log查看提交历史记录。 git loggit branch列出本地分支或者创建新分支。 git branch 分支名git checkout切换分支。 git checkout 分支名git merge合并指定分支到当前分支。 git merge 要合并的分支git pull拉取远程仓库的变化并合并到本地。 git pull origin 分支名git push推送本地变化到远程仓库。 git push origin 分支名git remote -v查看远程仓库的信息。 git remote -vgit remote add添加一个新的远程仓库。 git remote add 远程仓库名 仓库URLgit remote remove移除指定的远程仓库。 git remote remove 远程仓库名git diff查看工作区与暂存区的差异。 git diff这些是Git中一些常见的命令但Git还提供了许多其他功能强大的命令可以根据实际需要查阅Git官方文档或者通过 git --help 查看帮助信息。
结语 Git是一个强大的版本控制系统通过掌握上述基本概念和常用命令你可以更好地管理和协作项目代码。除了本文介绍的内容Git还有许多高级功能和技巧可以根据实际需求进行学习和探索。希望本文能够帮助你快速入门Git并在日常开发中得到应用。