当前位置: 首页 > news >正文

低价网站建设推广报价成都网站seo推广

低价网站建设推广报价,成都网站seo推广,服务好的武进网站建设,如何把网站放到域名上本系列有两篇文章#xff1a; 一是本篇#xff0c;主要说明了关于Git工具的基础使用#xff0c;包含三板斧#xff08;git add、git commit、git push#xff09;、Git基本配置、版本回退、分支管理、公钥与私钥、远端仓库和远端分支、忽略文件、命令别名、标签等内容。二…本系列有两篇文章 一是本篇主要说明了关于Git工具的基础使用包含三板斧git add、git commit、git push、Git基本配置、版本回退、分支管理、公钥与私钥、远端仓库和远端分支、忽略文件、命令别名、标签等内容。二是另外一篇《Git结合Gitee的企业开发模拟》这一文主要说明了Git和gitee开发协作的实践操作会带领您从0开始演示企业中的项目开发过程简略。 0.Git的下载 在这一节Git下载帮助文档里简单提及了不同平台下Git的下载。 注意我们目前在您还对Git一知半解的时候不推荐使用任何图形化界面这对您的学习作用不大除非您已经熟练操作Git命令和Git的相关概念这个时候才有使用图形化界面Git的意义。 1.Git仓库获取 1.1.本地获取 打开git bash通常对于windows来说在桌面右击鼠标即可找到该功能选项点进去就有一个“黑色框”出现以后我们依靠这个命令框输入和Linux类似的命令和git的专属命令 想要Git管理本地的文件只需要输入指令 $ cd 某个目录 $ git init #进入某个目录后执行初始化命令指令输入并且回车后Git将会创建一个.git子目录该子目录包含Git仓库需要的必须文件这些文件是Git仓库的骨干有关Git所有的秘密基本都在这里面。 如果没有进行这个初始化则没有办法在bash中对该目录使用git的其他命令注意不可以把其他现有的.git直接复制到这个还未被Git跟踪的目录这样做会使得Git仓库的状态出现问题 补充1如果不想要被Git进行版本控制最简单的办法是将.git文件直接删除当然在我们学过git后不建议这么做……补充2关于.git的内容可以简单了解一下可以看看下面的示例 $ ls -al total 329 drwxr-xr-x 1 Limou 197121 0 Aug 17 21:58 ./ drwxr-xr-x 1 Limou 197121 0 Aug 17 21:56 ../ -rw-r--r-- 1 Limou 197121 47 Aug 17 21:58 COMMIT_EDITMSG -rw-r--r-- 1 Limou 197121 107 Jul 29 16:02 FETCH_HEAD -rw-r--r-- 1 Limou 197121 23 Jul 21 21:37 HEAD -rw-r--r-- 1 Limou 197121 41 Jul 29 16:02 ORIG_HEAD -rw-r--r-- 1 Limou 197121 373 Jul 27 11:24 config -rw-r--r-- 1 Limou 197121 73 Jul 21 21:37 description drwxr-xr-x 1 Limou 197121 0 Jul 21 21:37 hooks/ -rw-r--r-- 1 Limou 197121 165766 Aug 17 21:58 index drwxr-xr-x 1 Limou 197121 0 Jul 21 21:37 info/ drwxr-xr-x 1 Limou 197121 0 Jul 21 21:37 logs/ drwxr-xr-x 1 Limou 197121 0 Aug 17 21:58 objects/ -rw-r--r-- 1 Limou 197121 114 Jul 21 21:37 packed-refs drwxr-xr-x 1 Limou 197121 0 Jul 21 21:37 refs/1.2.远程获取 比如在Github或者Gitee上克隆下来一个Git仓库或者叫“项目”执行以下指令 $ git clone github该项目的传输协议[自定义文件名字]如果你想在克隆远程仓库的时候想要自定义本地仓库的名字可以通过额外的参数指定新的目录名若没有指定该参数一般默认为该项目仓库在服务器上的名字。 其中Git支持多种数据传输协议我们可以先用https来学习比较简单并且好理解 可使用https://协议 可使用git://协议 可使用SSH传输协议 2.Git仓库配置 Git用来配置的命令是git config。而Git的配置变量存储在三个不同的位置它们的作用范围不同分别是系统级别、用户级别、仓库级别。 2.1.添加配置 2.1.1.系统级别 包含系统上每一个用户及他们仓库的通用配置。如果你在执行git config命令时带上了--system选项Git就会在/etc/gitconfig中读写配置变量windows应该在C盘下的管理员文件下。而因为它是系统级别的配置文件所以需要管理员或超级用户的权限才能修改它。 $ git config --system 变量配置值2.1.2.用户级别 针对当前用户的配置文件该配置文件位置在~/.gitconfig或~/.config/git/config你可以传递--global选项让Git读写此文件这样会对该用户在系统上所拥有的仓库生效对于当前用户的工作目录来说这个设置相当于全局设置。 不过在初步使用git的过程中最重要的配置是配置用户名字和邮箱地址邮箱地址最好真实有效 $ git config --global user.name Your Name$ git config --global user.email Your email可以通过git config --global -l来检查配置是否生效这里配置完后就会增加r.name...和r.email...的字样 2.1.3.仓库级别 针对当前仓库的配置文件.git/config。它只对当前用户拥有仓库有效。你可以传递--local选项让Git读写此文件当然你需要进入某个Git仓库中才能让该选项生效并且生效于该仓库中 $ git config --local 变量配置值2.2.查看配置 在上面提到的git config --global -l实际上全写为 $ git config --范围 --list/某个配置变量补充我们也可以直接打开不同范围级别对于的配置文件来查看。理论上来说配置也可以直接在配置文件里面手动修改来达到配置的目的。不过这些直接打开配置文件读写的操作我们目前并不推荐使用。 2.3.删除配置 $ git config --范围 某个配置变量 3.Git仓库管理 3.1.提交文件 实际上Git仓库真正指的是.git目录但是我们不能直接手动将文件手动写入.git一旦误改就会造成Git仓库失效。 因此只能将我们需要给Git管理的文件放在工作目录中也就是.git的同级目录。 然后使用add指令将文件从工作区转向版本库中的暂存区/索引也就是.git目录。 在版本库暂存区内部使用commit提交到分支存储库中。 add后对工作目录的修改的内容修改包括新增、修改、删除会写入到对象库中被其维护每修改一次后维护就相当于一次版本的管理。而实际上Git追踪管理的是修改而不是文件。 为什么暂存区也叫“索引”呢因为该区存储了修改对象的索引。 实际上分支上存储的也不是对象也是存储的是对象的索引。 还有一个指针HEAD指向分支根据这个指针就可以拿到当前指向的分支。 补充在.git目录下也可以找到HEAD、objects、index文件最后一个文件需要进过add后才被创建出来。 在实际使用中上述的流程体现为 $ git add [某文件]$ git commit -m 推送信息记录 3.2.查看文件状态 使用status可以查看当前文件的状态。 3.3.查看提交历史 使用log指令可以查看commit历史。 $ git log # 可以加上参数“--prettyoneline”试试更加简洁明了3.4.文件哈希值 文件被commit后就会根据文件内容计算出一串哈希值前两位代表目录标识后面所有数组串代表文件标识.git/objects会根据目录标识整理文件的哈希值。 要想查看git对象哈希值指向的内容就要使用git cat-file -p 哈希值来查看。 3.5.显示暂存区和工作区差异 3.5.1.使用diff diff是Git中一个重要的命令用于比较文件或提交之间的差异。它可以帮助你了解文件内容的变化以及提交之间的变更情况。 以下是几个常见的使用方式 比较工作区和暂存区文件之间的差异 $ git diff [文件名] 这将显示在工作区和暂存区之间所有已修改但尚未暂存的内容的差异。 比较工作区和版本库文件之间的差异 $ git diff HEAD [文件名] 这将显示在工作区和最新提交之间所有已修改但尚未提交的内容的差异。 比较两个提交文件之间的差异 $ git diff [commit1] [commit2] 用实际的提交哈希或分支名来替换commit1和commit2这将显示两个提交之间的差异。 3.5.2.diff输出解读 这里给出一个使用diff的例子 根据您提供的输出可以看到在 git diff 命令的结果中显示了代码文件 test.c 的变化。下面是 diff 输出的解释 $ git diffdiff --git a/my_git_2023_8_19/test.c b/my_git_2023_8_19/test.cindex af2a3a6..38d9e38 100644--- a/my_git_2023_8_19/test.c b/my_git_2023_8_19/test.c -1,5 1,4 #include stdio.h-#include string.hint main(){int i 0;其中 a/my_git_2023_8_19/test.c 表示原文件路径。b/my_git_2023_8_19/test.c 表示目标文件路径。index af2a3a6..38d9e38 100644 是文件索引信息。--- a/my_git_2023_8_19/test.c 表示原文件的起始位置。 b/my_git_2023_8_19/test.c 表示目标文件的起始位置。 -1,5 1,4 表示以下变更的范围原文件从第 1 行开始连续 5 行目标文件从第 1 行开始连续 4 行。 根据上述 diff 输出可以看到在原文件中删除了 #include string.h 这一行因此范围涵盖了第二行和第三行的变化。 在git diff的输出中范围指示了变更的具体位置。范围的格式是 -m,n x,y 其中 m,n 表示原文件中的范围x,y 表示目标文件中的范围。 在输出中范围是 -1,5 1,4 这里的1,5表示原文件中从第1行开始连续5行的范围1,4表示目标文件中从第1行开始连续4行的范围。 为什么范围是5行而不是2行呢这是因为Git使用上下文行来提供更多的变更上下文和可读性。当显示diff输出时Git通常会包含上下文行context lines以便更好地理解变更的上下文并在合并等操作中提供更好的决策。 3.6.版本回退 3.6.1.版本库回退指令 版本回退是Git最重要的功能主要是执行git reset命令来回退版本可以指定退回某一次提交的版本而回退的本质是要将版本库中的内容进行回退工作区和暂存区是否会退由命令参数来决定。 $ git reset [--soft/--mixed/--hard] [HEAD]--soft参数只将版本库回退到某个指定版本其他区域保持不变即对于工作区和暂存区的内容都不变 --mixed参数默认该参数将版本库和暂存区的内容退回为指定提交版本内容工作区文件保持不变使用的时候可以省略这个参数 --hard参数将工作区、暂存区、版本库都退回指定版本工作区若还有未提交的代码时不要用这个命令因为工作区会回滚没有提交过的代码就再也找不回了使用该参数需要谨慎很难找回 HEAD的使用有点类似绝对路径和相对路径的区别这个参数可以直接写成某次commit的哈希值表示回退到指定的版本。也可以使用^来回退HEAD表示当前版本HEAD^表示上一个版本HEAD^^表示上上个版本…… 3.6.2.撤回回退后悔药的后悔药 如果后悔了怎么办如果您还拥有之前提交的commit对应的哈希值继续使用上述命令也可以达到撤回的效果。那如果拿不到这个哈希值怎么办呢 可以使用git reflog会记录本地的每一次提交命令。 补充版本回退的操作是很快的原因是版本回退使用类似指针挪动的操作所以就会很快。 3.6.3.常见回退场景解法 3.6.3.1.只在工作区回退 在进行add后如果此时只有工作区内部修改了该文件又觉得在工作区的修改不够满意只想将工作区回退此时有两个方式 拷贝原有文件后手动删除文件 使用git checkout -- [文件名]回退到最近一次的add也就是专门丢弃工作区修改的指令该操作不可逆 如果之前有commit过还可以使用git reset --hard回退 3.6.3.2.只在工作区和暂存区回退 在进行add后突然发现在工作区和暂存区的同一份代码文本都不够满意此时就必须回退两个区域。此时使用命令 使用git reset --hard [HEAD] 使用git reset --mixed [HEAD]回到6.3.1.的情况 3.6.3.3.三个区域都要回退 直接使用git reset --hard HEAD即可。 3.7.删除文件 直接使用rm只是删除了工作目录中因此还需要add和commit一遍将暂存区和存储库里一起删除 直接使用git rm [文件名字]此时工作区和暂存区中也进行了删除再加上一次commit将存储库中的也删除掉 4.Git分支管理 Git的分支也是最为强大的一部分。 每次commit最终都会形成一个提交时间线默认叫做master主分支由master指针维护。 HEAD指向当前的工作分支切换工作分支后就切换指向为当前分支默认指向master而master指向该分支最新的一次commit提交。 在主分支上有的时候需要开辟一个次分支这样既能不影响主分支的重要开发又可以在次分支上随意开发。等到该分支的代码内容足够稳定就可以和主分支合并在一起。 4.1.分支创建 使用git branch [分支名]可以创建一个分支。此时在./git/refs/heads下除了master就会多一个分支的文件。次分支最开始指向的commit和主分支指向的commit是一样的。 4.2.分支查看 使用git branch就可以查看当前本地存在的分支其中开头带有*的分支为当前的工作分支。 4.3.分支切换 使用git checkout [分支名]可以切换当前的工作分支并且可以注意到HEAD指向的内容发生的改动此时的HEAD指向当前切换的分支。 4.4.分支合并 首先先切换到想要被合并的分支上然后使用git merge [分支名]于是次分支就被合并到主分支上了需要注意谁合并谁的问题有可能造成结果不同。 补充合并过程中有可能会回显出Fast-forward快进模式的字样这个模式就是指合并分支是通过将master直接指向次要分支的最后一次commit但是不是每次都可以使用这个模式的。只有类似下面这样的分支才可以使用快速模式进行合并但是开头那样的分支就不适合使用快速模式。 这种模式对于Git来说实际上是分辨不出到底是直接commit进主分支还是合并次分支进来的。 像开头那样的分支如果直接合并就有可能会产生合并冲突的问题。 因此我们可以指定分支为非快速模式只要在合并的时候加上--no-ff选项即可。 如果是上图的分支使用非快速模式合并还需要一次提交因此完整的命令是git merge --no-ff -m commit内容 分支名。 如果是一开头的分支如果我们直接使用合并就会将分支下移提交的是不同文件 如果是在不同分支里修改了相同的文件就会发生冲突这个时候两份文件就会直接合并在一起需要我们手动修改并且重新add和commit一次。 4.5.分支删除 使用git branch -d 分支名即可不过要删除某个分支不可以切换到该分支上删除需要切换到其他任意的分支才可以成功删除。 4.6.分支显示 使用git log --graph --abbrev-commit可以更加直观地在显示屏上显示出分支的状态。 补充由于直接创建、合并、删除分支的速度很快因此Git鼓励大家先使用分支完成某个任务合并后再删除分支这和直接在master上工作的效果一样但是安全性和可维护性更好。 4.7.分支策略 Git的不同分支可能具有不同的功能例如稳定推荐的master分支和多人协作开发的div分支。 4.8.分支bug 有的时候哪怕是稳定的master分支也会出现bug这个时候不能直接修改master分支否则有可能从小bug变成大bug。 因此我们需要通过分支合并来进行bug修改。 首先创建dev分支修改好master分支里的bug bug分支合并了master分支解决了dev分支和master分支冲突的问题dev分支内也包含了bug的解决方案 测试完dev分支确保没有新的bug后再将dev分支合并给master分支 最好删除掉dev分支 4.8.分支强删 如果一个分支还未被合并过是没有办法删除的这种情况下只能使用强制删除也就是命令git branch -D来强行删除。 5.Git远程仓库 5.0.理解分布式版本控制系统 我们上面所学的命令都只是再本地进行工作也就是说每一个电脑都是一份版本库因此我们工作的时候就不需要连接网络。 但是Git可是多人协作的工具工作文件不能仅仅在每一个个人电脑上。 但是如何在个人和个人直接传递文件来协调呢 因此就出现了中央服务器该中央服务器保持开机。 其他人依靠push命令来和推送到中央服务器而每一个个人都可以clone在中央服务器库中的文件。 这样就实现了个人和个人直接的协调工作。 而我们可以把中央服务器的仓库称为远程仓库一是可以自己搭建中央服务器、二是使用github或者gitee。 上面的过程实际上就是分布式版本控制的过程。 5.1.远程仓库创建 利用gitee和github可以创建远程仓库创建过程比较简单一般来说一个仓库代表一个项目系统。一般来说会自动创建一个README.md这是项目的说明书。 在.git下还可能有ISSUE_TEMPLATE.md文件、PULL_REQUEST_TEMPLATE.md文件。 这就需要解释这两个模板文件了实际上就对于下面其中两个选项卡。 issues是有问题的人与开发者沟通的文件集合这里可以处理使用者发现的问题进而修改bug pull request则是合并分支的申请集合这里可以请求开发者合并某些分支也就是所谓的”提交PR“ 补充1.md后缀代表基于Markdown语法的文件。 补充2远程仓库是拥有权限成员的例如报告者、观察者、开发者、管理者 5.2.远程仓库克隆 5.2.1.http协议 远程仓库始终还是需要克隆到本地来开发的因此就需要clone指令完整指令为git clone https等协议 目标文件即可完成克隆但是不能在其他本地仓库目录下进行克隆。 此时克隆下来的本地仓库和远程仓库内容是完全一样的以后我们就可以在本地机器上对项目进行修改而不影响远程仓库。 5.2.2.SSH协议 远程仓库除了使用http协议还可以使用SSH配合公钥来clone。我们需要在远程仓库里配置公钥SSH key。 先在用户主目录下查看有无.ssh目录如果有就查看下面的id_rsa(私钥)和id_rsa.pub(公钥)文件如果已经有了就跳过这一步如果没有就需要创建SSH key 使用ssh-keygen -t rsa -C 你的邮箱号必须和gitee或者github上的一致然后一路回车即可暂时不需要填写其他东西 然后使用cd .ssh/就可以看到步骤1说的两个文件我们就得到了私钥和公钥复制公钥的内容一个字符都不要漏到gitee或者github的SSH公钥选项卡中并且可以设计公钥的名称然后输入当前账户的密码即可 如果设置了SSH协作那么就需要分配公钥仓库允许多个公钥的存在 回到本地机器上使用SSH协议克隆 补充注意公钥和私钥可以通过上述命令生成如果将公钥配置到远端仓库中后只有拥有私钥的本地机器才可以进行push推送。 5.3.远程仓库推拉 在使用clone后远程仓库和本地仓库就有了联系这个时候就可以直接使用push如果有权限。 我们修改好自己的本地文件后就需要使用git push 远程仓库名(默认origin) 本地分支:远程分支(如果相同只写一个也可以)命令来推送代码到远端仓库可以使用git remote -v查看当前git工作目录下的远程仓库名字列表并且后面跟着权限比如push权限。 另外如果在我们推送之前就有别的开发者推送了文件这个时候本地仓库和远程仓库是不同步的因此我们需要使用命令git pull 远程仓库名(默认origin) 本地分支:远程分支拉取更新我们的本地仓库才能继续推送。 6.Git忽略文件 在日常开发中有些文件不应该被推送上来例如保存了数据库密码的配置文件但是一个一个甄别又十分低效因此就有了忽略文件的存在。 忽略文件的名字为.gitignore内部写入一些特殊的代码可以达到屏蔽某些文件的目的内容可以自己自定义也可以使用一些已有的模板。 在内部写入 直接写文件名 使用通配符* !文件名或通配符反向屏蔽 可以屏蔽对应的文件不过也可以使用-f选项强制add不过一般不建议。 另外还可以使用git check-ignore -v 文件名来查看该文件为什么被屏蔽的原因也就是显示出在.gitignore中的相关语法行 7.Git配置别名 可以使用一些配置简化命令git config 范围(例如--global) alisa.别名 原有命令不过配置别名对于新手来说暂时不建议使用。 8.Git标签管理 Git的标签有里程碑的感觉实际上就是对某次重要的commit的一个标识别名例如版本号。相对于记住难记的SHA-1值使用标签来寻找commit是更好的选择。 切换到需要打标签commit的分支上 打上标签git tag [标签名] [某次SHA-1值(如果该选项没写就默认给当前的commit打上标签)] 查看标签git tag或者tree .git的refs/tags中查看内部保存的是SHA-1值注意是根据标签字母排序的而不是时间排序 如果希望给创建标签添加更加详细的描述可以使用git tag -a [标签名] -m 标签详细信息 [SHA-1值]。并且可以使用git show [标签名]来查看详细信息 删除标签就是git tag -d [标签名]不过需要注意再次使用git push [远程仓库名] :[标签名字] 本地tag也是可以推送到远程仓库里的使用命令git push origin [标签名]单独推送或者使用git push origin --tags把所有本地标签全部推送到远程仓库中。
http://www.dnsts.com.cn/news/39984.html

相关文章:

  • 做一个网站中的搜索功能怎么做网站建设目标是什么意思
  • 淄博做网站哪家好做 网络网站
  • 宝安高端网站建设公司集美那里有教网站建设
  • 企业展示型网站有哪些微信视频号可以推广吗
  • 织梦小说网站源wap站网站转出
  • 做纺织的都用什么网站美妆网站源码asp
  • 企业信息网站如何开通微信小程序商城
  • 设计好看的企业网站北京网站制作收费明细
  • 北京网站设计学校贵金属交易app下载
  • 自己做网站 微信上海定制网站建设公司哪家好
  • 温州网站优化页面山西省普通高考考生网上服务平台
  • 怎样修改公司网站内容什么是网页设计与网站建设
  • 潍坊建设局官方网站网站制作1000元
  • 移动互联网开发心得体会seo是干什么的
  • 怎么在国外的搜索网站做推广网站常用的一种js幻灯片
  • 怀化老年网站博物馆网站建设的目标
  • 免费网站打包wordpress页面更新失败
  • 从零学做网站西安网站价格
  • 网站建设教程 冰美人视频宿迁网站建设价位
  • 旅游网站结构图网站建设框架搭建
  • 北海建设网站网站建设步骤 高清教 程
  • 网站空间买多大的公司注册地址规定
  • ps做图下载网站制作网站需要域名还需要什么
  • 网站这么上百度网络营销代运营服务
  • 如何做网站服务器网站首页 动画案例
  • 网站优化意见东莞我的网站建设
  • 西安网站开发建设建立自己的网站需要服务器吗
  • 营销网站的例子网站推广计划书具体包含哪些基本内容?
  • 萝岗网站建设制作网站建设甲方原因造成停工
  • 医院信息化建设会议安排网站wordpress菜单不能打开