当前位置: 首页 > news >正文 正品购物网站排行wordpress foxplayer news 2025/10/24 13:30:29 正品购物网站排行,wordpress foxplayer,怎么原创视频网站,东莞教育网官网文章目录 前言一、创建 Git 本地仓库1.1 什么是仓库1.2 创建本地仓库1.3 .git 目录结构 二、配置 Git三、认识 Git 的工作区、暂存区和版本库3.1 什么是 Git 的工作区、暂存区和版本库3.2 工作区、暂存区和版本库之间的关系 四、添加文件4.1 添加文件到暂存区和版本库中的命令4… 文章目录 前言一、创建 Git 本地仓库1.1 什么是仓库1.2 创建本地仓库1.3 .git 目录结构 二、配置 Git三、认识 Git 的工作区、暂存区和版本库3.1 什么是 Git 的工作区、暂存区和版本库3.2 工作区、暂存区和版本库之间的关系 四、添加文件4.1 添加文件到暂存区和版本库中的命令4.2 添加文件演示4.3 添加文件后的 .git 目录变化 五、文件的修改5.1 对 ReadMe 文件进行修改5.2 查看工作区与暂存区文件内容的差异5.3 查看工作区与版本库文件内容的差异5.4 提交修改后的文件 六、版本回退6.1 版本回退命令6.2 演示版本回退6.3 撤销版本回退6.4 版本回退的原理 七、撤销修改7.1 情况一对于工作区代码还没有 add7.2 情况二已经 add但没有 commit7.3 情况三已经 add 和 commit 八、删除文件8.1 rm git add git commit 删除8.2 git rm git commit 删除 前言 在软件开发中版本控制是一个非常重要的概念。它允许开发者追踪代码的变化协作开发以及回退到之前的版本。Git 是目前最流行的版本控制工具之一它具有强大的功能可帮助开发团队高效地管理代码。 本文将介绍如何使用 Git 来管理我们的代码项目。我将从创建本地仓库开始逐步介绍配置 Git、认识 Git 的工作区、暂存区和版本库以及如何添加文件、修改文件、版本回退、撤销修改以及删除文件等操作。 一、创建 Git 本地仓库 1.1 什么是仓库 仓库Repository是指用来存储和管理代码、文件或项目的地方。在软件开发中仓库通常用于存放一个或多个相关的代码文件、文档和资源以便开发者或团队协作开发、跟踪变更和保留项目的历史记录。 Git 仓库是其中一种常见类型的仓库用于版本控制和协同开发。它可以包含项目的不同版本允许开发者记录和追踪每次修改以确保代码的可维护性和可追踪性。 仓库可以分为本地仓库存储在个人计算机或服务器上和远程仓库存储在云端或其他远程服务器上开发者可以根据需要选择使用哪种类型的仓库来管理他们的项目。 1.2 创建本地仓库 创建一个 Git 本地仓库需要两个步骤 首先创建一个目录在该目录下使用命令 git init 进行初始化。 例如我创建了一个 gitcode 目录 此时该目录下面没有任何文件。 切换至该目录下使用 git init 命令进行初始化 再次查看该目录下的文件 发现多了一个 .git 的目录。 1.3 .git 目录结构 可以使用 tree 命令查看目录的结构 [rootVM-16-9-ubuntu gitcode]# tree .git/ .git/ ├── branches ├── config ├── description ├── HEAD ├── hooks │ ├── applypatch-msg.sample │ ├── commit-msg.sample │ ├── fsmonitor-watchman.sample │ ├── post-update.sample │ ├── pre-applypatch.sample │ ├── pre-commit.sample │ ├── pre-merge-commit.sample │ ├── prepare-commit-msg.sample │ ├── pre-push.sample │ ├── pre-rebase.sample │ ├── pre-receive.sample │ ├── push-to-checkout.sample │ └── update.sample ├── info │ └── exclude ├── objects │ ├── info │ └── pack └── refs├── heads└── tags这是 .git 的目录结构它是 Git 版本控制系统的核心部分用于存储项目的版本历史和元数据。 以下是每个目录的功能说明 branches: 这个目录用于存储分支的引用每个分支都可以在这里找到一个文件该文件包含了分支的引用信息。 config: Git 配置文件包含项目特定的配置选项如用户名、邮箱、合并策略等。 description: 一个简短的描述文件通常包含了项目的简要描述信息。 HEAD: 这是一个特殊的文件指向当前所在的分支或者是直接指向某个提交commit的引用。 hooks: 这个目录包含了 Git 钩子hooks的示例脚本。Git 钩子是在特定事件发生时自动触发的脚本可以用于自定义 Git 的行为比如在提交前运行测试。 info: 包含一些项目的信息文件其中exclude文件用于指定 Git 应该忽略的文件和目录。 objects: 这是 Git 的核心数据存储目录包含了所有的对象如提交、树、文件等的实际内容。info子目录包含一些对象的额外信息pack子目录包含了压缩的对象数据。 refs: 这个目录用于存储引用refs包括分支heads和标签tags。heads子目录包含了各个分支的引用tags子目录包含了各个标签的引用。 这些目录和文件组合在一起构成了 Git 仓库的核心结构允许 Git 跟踪和管理项目的版本历史和元数据。通过这些文件和目录Git 可以实现分支管理、提交历史记录、合并、回滚等版本控制功能。 二、配置 Git 当创建好 Git 的本地仓库后首先要做的事情是设置自己的 用户名称 和 e-mail 地址这是非常重要的一件事。 配置命令为 git config [--global] user.name Your Name git config [--global] user.email emailexample.com# 把 Your Name 改成自己的用户名 # 把 emailexample.com 改成邮箱的格式只要格式正确即可。其中 --global 是⼀个可选项。如果使用了该选项表示这台机器上所有的 Git 仓库都会使用这个配置。如果希望在不同仓库中使用不同的name 或 e-mail 可以不加 --global 选项但要注意的是执行命令时必须要在仓库目录下执行。 查看配置命令为 git config -l 删除对应的配置命令为 git config [--global] --unset user.name git config [--global] --unset user.email三、认识 Git 的工作区、暂存区和版本库 3.1 什么是 Git 的工作区、暂存区和版本库 Git的 工作区Working Directory、暂存区Staging Area和版本库Repository是 Git 版本控制系统中的三个关键概念它们协同工作来管理和跟踪项目的版本历史。以下是它们的定义 工作区Working Directory工作区是当前正在操作的项目目录包含项目的所有文件和子目录。这是对项目进行修改和编辑的地方。 暂存区Staging Area暂存区是一个中间区域一般存放在 .git 目录下的 index 文件.git/index中因此暂存区有时也叫作索引index。它是用于存放已经修改但尚未提交的文件。在工作区做出的更改需要明确添加到暂存区这个过程通常通过 git add 命令完成。暂存区的作用是让我们能够选择性地提交文件而不是一次性提交所有更改。 版本库Repository版本库是 Git 中存储项目的所有版本历史的地方。它包括了所有已提交的文件快照以及提交的记录信息。这个过程通常通过 git commit 命令完成。版本库通常包含了三个部分 工作目录中的 .git 目录其中存储了 Git 的配置和元数据对象数据库存储了项目的所有历史版本和文件引用包括分支和标签用于标识不同的提交点。 3.2 工作区、暂存区和版本库之间的关系 下面这张图形象地展示了工作区、暂存区和版本库之间的关系 在图中可以看到以下要点 图中左侧为工作区右侧为版本库。Git 的版本库里存了很多东西其中最重要的就是暂存区。在创建 Git 版本库时Git 会为我们自动创建⼀个唯⼀的 master 分支以及指向 master 的一个指针 HEAD。当对工作区修改或新增的文件执行 git add 命令时暂存区目录树的文件索引index会被更新。当执行提交操作 git commit 时master 分支会做相应的更新可以简单理解为暂存区的目录树才会被真正写到版本库中。 由上述描述我们便能得知通过新建或粘贴进工作目录的文件件并不能称之为向仓库中新增文件而只是在工作区新增了文件。必须要通过使用 git add 和 git commit 命令才能将文件添加到仓库中进行管理 四、添加文件 4.1 添加文件到暂存区和版本库中的命令 添加文件到暂存区的命令 添加一个或多个文件到暂存区git add [file1] [file2] ...添加指定目录到暂存区包括子目录git add [dir]添加当前目录下的所有改动文件到暂存区 git add . 将暂存区内容添加到本地仓库中的命令 提交暂存区全部内容到本地仓库中git commit -m message提交暂存区的指定文件到仓库区git commit [file1] [file2] ... -m message 注意 git commit 后面的 -m 选项作用是指定描述本次提交的描述信息 message由用户自己完成这部分内容不能省略并要仔细描述以用来记录提交细节方便向其他人展示。 4.2 添加文件演示 在包含 .git 的目录下新建⼀个 ReadMe 文件然后可以使用 git add 命令可以将这个文件添加到暂存区 再使用 git commit 命令将暂存区内容添加到本地仓库中 当 git commit 命令执行成功后会告诉我们1个文件被改动就是我们新添加的ReadMe⽂件插了0 行内容ReadMe 文件中没有内容。 我们还可以多次使用 git add 命令添加不同的文件而只 commit ⼀次便可以提交所有文件是因为需要提交的文件是 通通被添加到暂存区中然后一次性t提交暂存区的所有修改。例如下面的例子 截至目前为止我们已经更够将代码直接提交至本地仓库了。然后可以使用 git log 命令来查看历史提交记录 该命令显示从最近到最远的提交日志并且可以看到我们commit时的日志消息。如果嫌输出信息太多看得眼花缭乱的可以加上--prettyoneline 参数 需要说明的是我们看到的一大串类似 df5e5bd…91c3abde 的十六进制数其实是每次提交的 commit id版本号Git 的 commit id 并不是 123…… 这样递增的数字而是一个经过 SHA-1 计算出来的一个非常大的数字用十六进制表示。 4.3 添加文件后的 .git 目录变化 再次查看 .git 目录 a可以发现增加了一个 index 目录原来没有的原因是刚创建的本地仓库还是新的里面没有任何暂存内容这就是暂存区add 之后的内容都是添加到里面的。 bHEAD 就是默认指向 master 分支的指针 而默认的 master 分支其实就是 这段数字df5e5bd917bf598056d4dc443387138891c3abde 表示的就是当前最新的 commit id可通过上文中的 git log 命令输出的结果进行对比。 c objects 是 Git 的对象库里面包含了创建的各种版本库对象及内容。当执行 git add 命令时暂存区的目录树被更新同时工作区修改或新增的文件内容会被写入到对象库中的⼀个新的对象中即位于 .git/objects 目录下让我们来看看这些对象有何用处 查找 object 时要将 commit id 分成两部分其前两位是文件夹名称后 38 位是文件名称。 找到这个文件之后一般不能直接看到里面是什么该类文件是经过 SHA-1安全哈希算法加密过的文件好在我们可以使用 git cat-file 命令来查看版本库对象的内容 此时查看的就是最近一次提交的信息。其中-p 选项的含义是 pretty也就是将结果显示得更漂亮parent 表示的是上一次提交内容的 commit id。 另外还有一行 tree 15a37e9ef171cca4a5d985fccd1fcf9414b2c7cf我们使用同样的方法看看结果 其实这些就是 Git 记录的每个文件的修改记录。可以查看 ReadMe 文件对应的 8d0e41234f24b6da002d962a26c2495ea16a425f 这是我们对 ReadMe 文件做的修改其修改的内容被 Git 记录了下来。 d总结一下在本地的 Git 仓库中有几个文件或者目录非常特殊 index暂存区 执行 git add 后会更新该内容。HEAD默认指向 master 分支的一个指针。refs/heads/master这个文件里保存当前 master 分支的最新 commit id 。objects包含了创建的各种版本库对象及内容可以简单理解为存放了 Git 维护的所有修改。 五、文件的修改 Git 比其他版本控制系统设计得更加优秀是因为 Git 跟踪并管理的是修改内容而非文件。 那么什么是修改呢比如在某个文件中新增了一行这就是一个修改删除了一会这也是一个修改更改了某些字符、删了一些又增加了一些、甚至创建一个新文件同样也算一个修改。 下面我将演示对一个文件进行了修改观察 Git 仓库会发生怎样变化。 5.1 对 ReadMe 文件进行修改 使用 vim 编辑器在 ReadMe 文件在新增一行 hello world 此时Git 仓库中的 ReadMe 和工作区的 ReadMe 的内容是不同的。可以使用 git status 命令来查看当前工作区的内容相较于 Git 仓库中的内容是否发生了修改 可以发现ReadMe 文件已经被修改了但还没有完成添加与提交操作。 5.2 查看工作区与暂存区文件内容的差异 如果要查看工作区与暂存区文件内容的差异则可以使用 git diff [file] 命令这个命令用来显示暂存区和工作区文件的差异显示的格式是 Unix 通用的 diff 格式。例如查看 ReadMe 文件 说明 --- a/ReadMe 表示修改前而 b/ReadMe 表示修改后-1 表示修改前文件的第一行的内容1, 2 表示修改后的第一行两行的内容。hello world 表示的是新增的内容即带了一个 号。 5.3 查看工作区与版本库文件内容的差异 如果要查看工作区与版本库文件内容的差异则可以使用 git diff HEAD [file] 命令其显示的格式和上文一样例如查看 ReadMe 文件 5.4 提交修改后的文件 当前面使用 git status 命令查看仓库状态的时候就已经提示了我们可以使用 git add file 命令来更新暂存区然后 commit 提交到版本库中。 更新文件到暂存区 更新暂存区内容到版本库 此时再次使用两个 git diff 命令则没有输出任何内容则说明已经更新文件内容到版本库成功了 六、版本回退 我们都知道Git 能够管理文件的历史版本这也是版本控制器重要的能力。如果有一天发现目前做的工作做的出现了很大的问题需要在某个特定的历史版本重新开始这个时候就需要版本回退的功能了。 6.1 版本回退命令 当使用 Git 进行版本控制时经常需要回退到之前的某个提交版本。这可以通过 git reset 命令来实现该命令可以将版本库中的内容回退到指定的提交点。值得注意的是Git 中的 “回退” 涉及到版本库、工作区和暂存区三个重要的部分。 回退命令语法 git reset [--soft | --mixed | --hard] [commit]说明 --mixed这是默认选项它会将版本库和暂存区的内容回退到指定提交版本但工作区的文件保持不变。这意味着文件内容在工作区仍然保持最新的状态但暂存区的更改会被取消。 --soft使用这个参数时版本库会回退到指定版本但工作区和暂存区的内容都不会发生改变。这个选项允许重新提交当前工作目录中的更改而不会影响之前的提交历史。 --hard这个参数将版本库、暂存区和工作区都回退到指定的提交版本。使用这个选项时要格外小心因为它会删除工作区中未提交的更改这些更改将不可恢复。 commit 参数 commit 参数表示的是要回退到的目标提交版本。可以直接使用 commit 的哈希值来指定特定的提交版本。例如git reset abc123 将会回退到哈希值为 abc123 的提交版本。 HEAD 表示当前的提交版本。 HEAD^ 表示上一个提交版本HEAD^^ 表示上上一个提交版本以此类推。另外可以使用 HEAD~n 来表示向前回退 n 个提交版本。 注意事项 使用 git reset --hard 时要格外小心因为它会删除工作区中未提交的更改这些更改将不可恢复。请确保在执行前备份重要的更改。 如果你只是想取消之前的提交并创建一个新的提交来覆盖它可以使用 git revert 命令它会创建一个新的提交来撤销指定提交的更改而不会删除历史记录。 在执行 git reset 命令之前建议使用 git log 来查看提交历史以确保你选择了正确的提交点进行回退。 6.2 演示版本回退 首先使用 git log 命令查看提交的历史 如果我们想要回退到 “提交 Read 文件” 时的版本回退的命令为 git reset --hard 9ad6baf71d5b6769c2823d6ebe47e363675a24b8此时发现回退成功了ReadMe 文件的内容和其他文件也都没有了并且再次使用 git log 查看日志发现只有当前一条记录了。 6.3 撤销版本回退 到这里一般的回退功能就演示完了但现在如果我后悔了想再回到回退前的版本该怎么办呢非常简单我们可以继续使用 git reset 命令回退到回退前的版本。但我们必须要拿到目标版本的的 commit id 去指定回退的版本。 幸运的是在当前的终端中存在有目标版本的 commit id 此时只需要执行下面的命令就可以撤销回退了 git reset --hard 4feb4570eb6921f92455b7944cd0724e09f040c3但是如果终端关闭了那么之间的 git log 记录也就消失了又该如何回退呢此时可以使用 git reflog 来查看每一次的 执行 commit 的记录 此时同样可以根据 4feb457 回退到回退前的版本 6.4 版本回退的原理 Git 的版本回退原理是 Git 在内部使用指针来管理分支和提交历史这使得版本回退操作非常高效。在 Git 中每个分支都有一个指向当前提交的指针而这个指针通常称为 HEAD。当执行版本回退操作时实际上只是在移动这个指针而不是修改实际文件内容这就使得版本回退变得非常快速。 下面详细解释一下版本回退的原理 Git 的分支指针在 Git 中每个分支都有一个指针指向该分支的最新提交。例如如果你当前在 master 分支上master 分支的指针就指向 master 分支的最新提交。这个指针通常被称为 HEAD。 版本库中的提交对象Git 的版本库中包含了一系列提交对象每个提交对象都代表了一个快照包括文件的状态、提交者信息、时间戳等。提交对象之间通过父子关系形成提交历史链。 版本回退操作当执行版本回退操作比如使用 git reset 命令Git 实际上会移动分支的指针包括 HEAD来指向不同的提交对象。这个操作不会删除或修改提交历史中的提交对象而只是改变了分支指针的位置。 工作区、暂存区和版本库的关系工作区中的文件表示当前文件状态暂存区是一个中间区域用于准备提交的更改而版本库存储了所有提交的历史记录。版本回退操作只影响了分支指针的位置不会直接修改工作区或暂存区的内容。可以根据需要将工作区和暂存区的内容重新配置以匹配新的分支指针位置。 下图展示了版本回退的原理 从图中可以看出版本回退操作实际上只是改变了 master 分支指针的位置不涉及对文件内容的修改。这种指针操作使得 Git 的版本回退非常迅速因为它只涉及元数据的移动而不需要修改大量文件。 总结来说Git 的版本回退原理基于分支指针的移动它只影响分支的指向不会直接修改文件内容因此非常高效。理解这个原理可以帮助我们更好地使用 Git 进行版本控制并理解版本回退操作的本质。 七、撤销修改 如果我们在我们的工作区写了很长时间代码越写越写不下去觉得自己写的实在是垃圾想恢复到上一个版本此时就可以考虑撤销修改了。对于撤销修改来说存在三种情况分别是 对于工作区代码还没有 add已经 add但没有 commit已经 add 和 commit 了。 下面将针对不同的情况展示如何进行撤销修改。 7.1 情况一对于工作区代码还没有 add 对于工作区代码还没有 add 操作我们一般想到的做法就是使用 git diff 命令将存在差异的代码删除掉 显然这个方法行得通但是如果以及编写了大量的代码那还能够一点点的删除吗。如果手动修改的话也可能错误的删除造成代码无法正常运行。此时就需要使用 git checkout -- [file] 命令。注意命令中的 -- 很重要切记不要省略一旦省略该命令就变为其他意思。 此时发现成功撤销了工作区中代码的修改。 7.2 情况二已经 add但没有 commit 当进行了 add 操作之后暂存区中也存在了修改的内容如果使用 git status 命令就可以发现这个修改 此时要想撤销修改也非常的简单因为还未执行 commit 也就是说版本库中的内容还是修改前的内容因此直接使用 git reset 命令回退到当前版本即可。 注意回退暂存区的代码可以使用 --mixed 选项由于其是默认选项因此可省略不写。 回退了暂存区中的修改之后发现还有工作区中的修改没有撤销此时就变成了情况一 此时直接使用git checkout -- [file] 命令进行撤销即可。 当然还可以直接使用命令 git reset --hard HEAD 同时回退工作区和暂存区中的修改。 7.3 情况三已经 add 和 commit 如果已经执行了 add 和 commit 两个操作那么版本库中也更新了修改的内容了 此时要想撤销修改那就更简单了只有使用命令 git reset --hard HEAD^ 回退至上一个版本即可。 需要注意的使用这样的回退方法仅仅是在还未使用 git push 提交至远程仓库之前使用如果执行了 push 则需要使用其他方法具体方法将在我后续关于 Git 远程操作 的文章给出答案。 八、删除文件 对应删除文件操作如果只删除工作区中的文件那么就会和暂存区和版本库中的内容不匹配了因此需要同时删除这三个地方的内容。下面演示了两种删除方法。 8.1 rm git add git commit 删除 在 Git 中删除也是一个修改操作因此可以使用 rm git add git commit 的方法进行删除例如删除 file3 文件 8.2 git rm git commit 删除 针对于删除操作Git 也提供了一个 rm 命令其作用是删除工作区文件并提交至暂存区相当于上面的 rm git add 操作例如删除 file2 文件 文章转载自: http://www.morning.zhnpj.cn.gov.cn.zhnpj.cn http://www.morning.qysnd.cn.gov.cn.qysnd.cn http://www.morning.gklxm.cn.gov.cn.gklxm.cn http://www.morning.mztyh.cn.gov.cn.mztyh.cn http://www.morning.ygxf.cn.gov.cn.ygxf.cn http://www.morning.mnkhk.cn.gov.cn.mnkhk.cn http://www.morning.bhqlj.cn.gov.cn.bhqlj.cn http://www.morning.ljllt.cn.gov.cn.ljllt.cn http://www.morning.hjlwt.cn.gov.cn.hjlwt.cn http://www.morning.kdpal.cn.gov.cn.kdpal.cn http://www.morning.mftzm.cn.gov.cn.mftzm.cn http://www.morning.fmjzl.cn.gov.cn.fmjzl.cn http://www.morning.dycbp.cn.gov.cn.dycbp.cn http://www.morning.xgmf.cn.gov.cn.xgmf.cn http://www.morning.cyfsl.cn.gov.cn.cyfsl.cn http://www.morning.ljbm.cn.gov.cn.ljbm.cn http://www.morning.dfqmy.cn.gov.cn.dfqmy.cn http://www.morning.qpqcq.cn.gov.cn.qpqcq.cn http://www.morning.kpqjr.cn.gov.cn.kpqjr.cn http://www.morning.bxqtq.cn.gov.cn.bxqtq.cn http://www.morning.nnpwg.cn.gov.cn.nnpwg.cn http://www.morning.jnptt.cn.gov.cn.jnptt.cn http://www.morning.xnqjs.cn.gov.cn.xnqjs.cn http://www.morning.rlfr.cn.gov.cn.rlfr.cn http://www.morning.ktsth.cn.gov.cn.ktsth.cn http://www.morning.nrddx.com.gov.cn.nrddx.com http://www.morning.hjwzpt.com.gov.cn.hjwzpt.com http://www.morning.dzgyr.cn.gov.cn.dzgyr.cn http://www.morning.mtsck.cn.gov.cn.mtsck.cn http://www.morning.lchtb.cn.gov.cn.lchtb.cn http://www.morning.dbxss.cn.gov.cn.dbxss.cn http://www.morning.bszmy.cn.gov.cn.bszmy.cn http://www.morning.rnqrl.cn.gov.cn.rnqrl.cn http://www.morning.kkzwn.cn.gov.cn.kkzwn.cn http://www.morning.mmosan.com.gov.cn.mmosan.com http://www.morning.kjxgc.cn.gov.cn.kjxgc.cn http://www.morning.hrypl.cn.gov.cn.hrypl.cn http://www.morning.snlxb.cn.gov.cn.snlxb.cn http://www.morning.qgtbx.cn.gov.cn.qgtbx.cn http://www.morning.jtfsd.cn.gov.cn.jtfsd.cn http://www.morning.ldzss.cn.gov.cn.ldzss.cn http://www.morning.phtqr.cn.gov.cn.phtqr.cn http://www.morning.rgrdd.cn.gov.cn.rgrdd.cn http://www.morning.wrlxy.cn.gov.cn.wrlxy.cn http://www.morning.cctgww.cn.gov.cn.cctgww.cn http://www.morning.rttp.cn.gov.cn.rttp.cn http://www.morning.qjmnl.cn.gov.cn.qjmnl.cn http://www.morning.mjwnc.cn.gov.cn.mjwnc.cn http://www.morning.nzmqn.cn.gov.cn.nzmqn.cn http://www.morning.gtmgl.cn.gov.cn.gtmgl.cn http://www.morning.xflzm.cn.gov.cn.xflzm.cn http://www.morning.qieistand.com.gov.cn.qieistand.com http://www.morning.ydnx.cn.gov.cn.ydnx.cn http://www.morning.iqcge.com.gov.cn.iqcge.com http://www.morning.fhbhr.cn.gov.cn.fhbhr.cn http://www.morning.cfrz.cn.gov.cn.cfrz.cn http://www.morning.sacxbs.cn.gov.cn.sacxbs.cn http://www.morning.npgwb.cn.gov.cn.npgwb.cn http://www.morning.fwcjy.cn.gov.cn.fwcjy.cn http://www.morning.knswz.cn.gov.cn.knswz.cn http://www.morning.ryysc.cn.gov.cn.ryysc.cn http://www.morning.yrbqy.cn.gov.cn.yrbqy.cn http://www.morning.bgpch.cn.gov.cn.bgpch.cn http://www.morning.ykgp.cn.gov.cn.ykgp.cn http://www.morning.wnqfz.cn.gov.cn.wnqfz.cn http://www.morning.dwrbn.cn.gov.cn.dwrbn.cn http://www.morning.tkgjl.cn.gov.cn.tkgjl.cn http://www.morning.gqhgl.cn.gov.cn.gqhgl.cn http://www.morning.ygwyt.cn.gov.cn.ygwyt.cn http://www.morning.nccqs.cn.gov.cn.nccqs.cn http://www.morning.wgzgr.cn.gov.cn.wgzgr.cn http://www.morning.ylkkh.cn.gov.cn.ylkkh.cn http://www.morning.ghqyr.cn.gov.cn.ghqyr.cn http://www.morning.hqrr.cn.gov.cn.hqrr.cn http://www.morning.yzfrh.cn.gov.cn.yzfrh.cn http://www.morning.ktqtf.cn.gov.cn.ktqtf.cn http://www.morning.zphlb.cn.gov.cn.zphlb.cn http://www.morning.kpnpd.cn.gov.cn.kpnpd.cn http://www.morning.fwrr.cn.gov.cn.fwrr.cn http://www.morning.xshkh.cn.gov.cn.xshkh.cn 查看全文 http://www.tj-hxxt.cn/news/245450.html 相关文章: 绥化安达网站建设wordpress前台注册插件 网站推广公司认准乐云seosecond是什么意思 北京 代理前置审批 网站备案银川网站建设广告公司 自己做网站引用别人的电影请人代做谷歌外贸网站 梧州网站推广方案wordpress禁止用户留言 重庆需要网站建设南宁市网站维护与推广公司 做印刷网站公司简介我需要做网站 网站制作前期php网站开发培训学校 建设一个网站价格贵阳做网站找哪家好 网站后台源代码专门建设网站的公司 综合网站系统国内网站建设排名 网站制作咨询电话漯河做网站哪家好 怎样建设企业网站 用于宣传专门做视频点评的网站 企业网站建设推广方案怎么写百安居装修口碑怎么样 庆阳市建设局门户网站知名建站企业哪家好 网站规划设计是什么wordpress未收到数据库 引擎搜索网站模板域名申请免费注册 营销型网站建设需要注意什么wordpress 图片位置 桂林网站建设凡森网络百度app安装免费下载 网站网站制作开发需要哪些技术wordpress禁用wp-cron 阿里云搭建自己的网站多种五屏网站建设 深圳网站设计+建设首选深圳市wordpress小工具插件 像宝塔面板一样的建站工具玉溪网站建设网站建设 公司网络推广网站wordpress主题站模板 湖南网站建设公司 干净磐石网络app应用市场下载 网站编写费用服务器 网站运营专员岗位职责大连建设工程信息网防水 湛江网站建设方案咨询新增网站建设方案 邯郸手机网站建设报价如何做网站外部链接 网站建设 外包是什么意思可信赖的坪山网站建设