wordpress制作网站教程视频企业网站建设一般要素
news/
2025/9/22 21:30:21/
文章来源:
wordpress制作网站教程视频,企业网站建设一般要素,做网站课程,wordpress登录没反应文章目录 Git概述什么是GitGit历史Git是什么 为什么要使用Git什么是版本控制系统 Git和SVN对比SVN集中式SVN优缺点 Git分布式Git优缺点 Git工作流程四个工作区域工作流程 Git下载与安装下载window版下载64位软件包安装Git Git基础环境配置设置用户信息查看配置信息 文件的两种状… 文章目录 Git概述什么是GitGit历史Git是什么 为什么要使用Git什么是版本控制系统 Git和SVN对比SVN集中式SVN优缺点 Git分布式Git优缺点 Git工作流程四个工作区域工作流程 Git下载与安装下载window版下载64位软件包安装Git Git基础环境配置设置用户信息查看配置信息 文件的两种状态untracked未跟踪tracked已跟踪 文件加入暂存区文件加入暂存区命令文件取消暂存区命令 文件提交与删除文件提交命令修改commit记录使用--amend参数进行Commit Git基础_删除文件挽救已被删除的文件或目录 将文件添加至忽略列忽略规则 日志记录操作查看日志获取执行过的命令 比较文件差异git diff命令格式实战演习 还原文件情况I情况II情况III Git概述
什么是Git Git历史
很多人都知道林纳斯·托瓦兹在1991年创建了开源的Linux从此Linux系统不断发展已经成为最大的服务器系统软件了。 Git是什么
Git是一种代码托管技术。在开发中Git是一种代码托管技术很多代码托管平台也是基于Git来实现的。Git可以帮我们做到很多的事情比如代码的版本控制分支管理等。 注意 我们可以把Git理解成是一个开源的分布式版本控制系统用于敏捷高效地处理任何或小或大的项目。正是因为有了Git的存在现在很多工作才可以变得相对轻松。 为什么要使用Git 什么是版本控制系统
你可以把一个版本控制系统缩写VCS理解为一个“数据库”在需要的时候它可以帮你完整地保存一个项目的快照。当你需要查看一个之前的快照称之为“版本” 时版本控制系统可以显示出当前版本与上一个版本之间的所有改动的细节。 想法 因为我们怕在原来的基础改错了东西没法恢复所以我们可能会有多个毕业论文的文件。而我们写代码的时候本身就是「多人协作」的修改是无法避免的我们不希望有多个文件的产生又希望能够记录每次更改的内容。“ 这个软件用起来就应该像这个样子能记录每次文件的改动
版本文件名用户说明日期1service.doc张三删除了软件服务条款57/12 10:382service.doc张三增加了License人数限制7/12 18:093service.doc李四财务部门调整了合同金额7/13 9:514service.doc张三延长了免费升级周期7/14 15:17 注意 结束了手动管理多个“版本”的史前时代进入到版本控制的20世纪。 Git和SVN对比 SVN集中式
集中式版本控制系统需要找一个服务器作为大本营所有的代码都需要提交到服务器上进行统一的管理。当你需要对代码进行改动时需要先从服务器上下载一份拷贝修改完成之后还需要上传回服务器。 SVN优缺点
优点
管理员也可以轻松掌控每个开发者的权限。代码一致性非常高。适合开发人数不多的项目开发。
缺点
服务器压力太大数据库容量暴增。如果不能连接到服务器上基本上不可以工作看上面第二步如果服务器不能连接上就不能提交还原对比等等。
Git分布式
在分布式版本控制系统中大家都拥有一个完整的版本库不需要联网也可以提交修改所以中心服务器就显得不那么重要了。 注意 Git记录版本历史只关心文件数据的整体是否发生变化。Git 不保存文件内容前后变化的差异数据。 Git优缺点
优点
适合分布式开发强调个体。公共服务器压力和数据量都不会太大。速度快、灵活。任意两个开发者之间可以很容易的解决冲突。离线工作。
缺点
学习周期相对而言比较长。不符合常规思维。易学难精80/20
Git工作流程 四个工作区域 Workspace 工作区就是你平时存放项目代码的地方
Index / Stage 暂存区用于临时存放你的改动事实上它只是一个文件保存即将提交到文件列表信息
Repository 仓库区或版本库就是安全存放数据的位置这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本
Remote 远程仓库托管代码的服务器可以简单的认为是你项目组中的一台电脑用于远程数据交换 工作流程
Git的工作流程一般是这样的
在工作目录中添加、修改文件将需要进行版本管理的文件放入暂存区域将暂存区域的文件提交到git仓库。
Git下载与安装 注意 在Windows操作系统中安装 Git之前先从官方网站(https://git-scm.com/)下载合适的Git版本。 下载window版 下载64位软件包 安装Git Git基础
环境配置 当安装Git后首先要做的事情是设置用户名称和email地址。这是非常重要的因为每次Git提交都会使用该用户信息。
设置用户信息
git config --global user.name oldGj_
git config --global user.email oldGj_163.com查看配置信息
检查当前的设置
git config --list
git config user.name注意 通过上面的命令设置的信息会保存在~/.gitconfig文件中。 文件的两种状态 版本控制就是对文件的版本控制要对文件进行修改、提交等操作首先要知道文件当前在什么状态不然可能会提交了现在还不想提交的文件或者要提交的文件没提交上。 注意 Git不关心文件两个版本之间的具体差别而是关心文件的整体是否有改变若文件被改变在添加提交时就生成文件新版本的快照而判断文件整体是否改变的方法就是用SHA-1算法计算文件的校验和。 untracked未跟踪
未跟踪, 此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add 状态变为Staged.
tracked已跟踪
被纳入版本控制 Unmodified 文件已经入库, 未修改, 即版本库中的文件快照内容与文件夹中完全一致. 这种类型的文件有两种去处, 如果它被修改, 而变为Modified如果使用git rm移出版本库, 则成为Untracked文件。 Modified 文件已修改, 仅仅是修改, 并没有进行其他的操作. 这个文件也有两个去处, 通过git add可进入暂存staged状态, 使用git checkout 则丢弃修改过,返回unmodify状态, 这个git checkout即从库中取出文件, 覆盖当前修改。 Staged 暂存状态. 执行git commit则将修改同步到库中, 这时库中的文件和本地文件又变为一致, 文件为Unmodify状态. 执行git reset HEAD filename取消暂存,文件状态为Modified。 注意 这些文件的状态会随着我们执行Git的命令发生变化 注意 新建文件—Untracked使用add命令将新建的文件加入到暂存区—Staged使用commit命令将暂存区的文件提交到本地仓库—Unmodified如果对Unmodified状态的文件进行修改— modified如果对Unmodified状态的文件进行remove操作—Untracked 查看文件状态命令
语法结构
git status参数 -s 简洁输出 例子
$ git status
On branch masterNo commits yetUntracked files:(use git add file... to include in what will be committed)a.txt文件加入暂存区 文件加入暂存区命令
语法结构
git add 文件名文件取消暂存区命令
语法结构
git reset 文件名文件提交与删除 如果仅是通过git add命令把移动加到暂存区还不算是完成整个流程。如果想让暂存区的内容永久保存下来就要使用git commit命令。 文件提交命令
语法结构
git commit -m 提交信息参数 -m : 本次提交做了什么事只要简单、清楚的文本说明即可中英文都可以重点是说清楚能让自己和别人很快明白就行。 如果不加m参数会进入类似vim编辑。 修改commit记录
身为程序员难免会遇到一些不太顺心的客户或项目。心情不好的时候在代码或Commit信息中“发泄”一下情绪也是很常见的只是这要是让客户看见了总是不好解释。
要改动Commit记录有几种方式。
(1把.git目录整个删除不建议。(2使用git rebase命令来改动历史记录。(3先把 Commit用git reset命令删除整理后再重新Commit。(4使用–amend参数改动最后一次的Commit。
使用–amend参数进行Commit
git log --oneline只需要在Commit命令后面加上–amend即可
git commit --amend -m welcome to facebookGit基础_删除文件
语法结构
git rm 文件名注意 删除的文件只是删除工作目录的文件我们的版本库里面还是存在的。 删除文件会把这个文件直接放入暂存区。 挽救已被删除的文件或目录
“人有失手马有失蹄”人总会有不小心或状态不好的时候。不管是有意还是无心 在Git中如果不小心把文件或目录删除了是可以挽救回来的这也是使用版本控制系统最主要的原因之一。
这里先使用rm命令故意把项目中所有的HTML文档删除:
rm *.html
ls -al可以看出当前1个文件都处于被删除deleted状态。
可以使用git checkout命令
git checkout index.html注意 当使用git checkout命令时Git 会切换到指定的分支但如果后面接的是文件名或路径Git则不会切换分支而是把文件从.git目录中复制一份到当前的工作目录。更精准地说这个命令会把暂存区中的内容或文件拿来覆盖工作目录中。 如果想把所有删除文件都挽救回来可以使用以下命令
git checkout .小技巧: 这个技巧不仅可以将删除的文件挽救回来当改动某个文件后反悔了也可以用它把文件恢复到上一次Commit的状态。不是所有情况下都能恢复被删除的文件的。因为整个Git的记录都是放在根目录下的 .git目录中如果这个目录被删除了也就意味着历史记录也被删除了那么删除的文件也就不能恢复了。 将文件添加至忽略列 一般我们总会有些文件无需纳入Git的管理也不希望它们总出现在未跟踪文件列表。通常都是些自动生成的文件比如日志文件或者编译过程中创建的临时文件等。在这种情况下我们可以在工作目录中创建一个名为 .gitignore的文件(文件名称固定)列出要忽略的文件模式。
忽略规则
# / 表示 当前文件所在的目录# 忽略public下的所有目录及文件
/public/*
#不忽略/public/assets就是特例的意思assets文件不忽略
!/public/assets# 忽略具体的文件
index.class# 忽略所有的class
*.class# 忽略 a.class b.class
[ab].class 注意 #匹配规则和linux文件匹配一样#以斜杠“/”开头表示目录#以星号“*”通配多个字符#以问号“?”通配单个字符#以方括号“[]”包含单个字符的匹配列表#以叹号“!”表示不忽略(跟踪)匹配到的文件或目录 例子
手动创建一个user.class文件
touch user.class
touch userDao.class创建.gitignore文件
touch .gitignore编写规则
*.class日志记录操作 查看日志
语法结构
git log参数 –graph 查看分支合并图–oneline : 标记把每一个提交压缩到了一行中 获取执行过的命令
语法结构
git reflog比较文件差异 diff是指的是两个事物的不同。例如在Linux系统中diff命令会逐行比较两个文本的差异然后显示出来。
git diff命令格式
语法结构
git diff [--cached]注意 ---标记原始文件标记新文件两个不同文件版本的上下文行号。- 原始文件删除改行原始文件增加一行 实战演习
工作文件夹比较
git diff把修改文件追加到索引区
git add . 无法比较工作文件夹的修改文件
git diff索引区比较
git diff --cached还原文件 对于恢复修改的文件就是将文件从仓库中拉到本地工作区即 仓库区 ---- 暂存区 ---- 工作区。
对于修改的文件有三种情况
只是修改了文件没有任何 Git 操作修改了文件并提交到暂存区即编辑之后gitadd但没有gitadd但没有 git commit -m …修改了文件并提交到仓库区即编辑之后gitadd和gitadd和 git commit -m …
情况I
只是修改了文件没有任何 git 操作直接一个命令就可回退
$ git checkout -- aaa.txt # aaa.txt为文件名情况II
修改了文件并提交到暂存区(即编辑之后git add但没有gitadd但没有 git commit
$ git log --oneline # 可以省略
$ git reset HEAD # 回退到当前版本
$ git checkout -- aaa.txt # aaa.txt为文件名注意 情况II 和 情况III 只有回退的版本不一样对于 情况II并没有 $ git commit仓库版本也就不会更新和记录所以回退的是当前版本 情况III
修改了文件并提交到*仓库区*即编辑之后git add和gitadd和 git commit -m
$ git log --oneline # 可以省略
$ git reset HEAD^ # 回退到上一个版本
$ git checkout -- aaa.txt # aaa.txt为文件名注意 git reset 版本号 ---- 将暂缓区回退到指定版本,根据 $ git log --oneline 显示的版本号可以回退到任何一个版本也可通过 HEAD 来指定版本。 HEAD 当前版本HEAD^ 上一个版本HEAD^^ 上上一个版本
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/910436.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!