提交 2ae60bb5 编写于 作者: W wizardforcel

2022-01-28 23:03:14

上级 8d626d49
......@@ -6,7 +6,7 @@
今天,我们介绍**如何在 Debian 10** 巴斯特上安装 VSCode或更新现有 VS 代码;Visual Studio Code 是由**微软**创建的开源跨平台代码编辑器。Visual Studio 提供内置调试帮助、Git 集成控件、语法突出显示、代码完成、集成终端、代码重构和代码片段。
在 Debian 10 上安装 **Visual Studio Code** 的最快且推荐的方法是激活 VS Code 存储库,并使用命令行安装 VS Code 包。
在 Debian 10 上安装 **Visual Studio Code** 的最快且推荐的方法是激活 VS Code 库,并使用命令行安装 VS Code 包。
本指南描述了在 **Debian 10 Buster 上安装 VSCode编辑器。**更新 Debian 10 上的 VS 代码
......@@ -16,7 +16,7 @@
### 在 Debian 10 上安装 VSCode
**Debian** 10 系统上安装 VSCode的最快和推荐的方法是激活 VS 代码存储库,并使用命令行安装 VS 代码包:
**Debian** 10 系统上安装 VSCode的最快和推荐的方法是激活 VS 代码库,并使用命令行安装 VS 代码包:
首先更新包索引并通过键入以下命令安装**依赖项**:
......@@ -33,7 +33,7 @@ curl -SSL https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
该命令将产生一个**输出** OK。
### 将 VSCode存储库添加到您的系统中:
### 将 VSCode库添加到您的系统中:
```
sudo add-apt-repository "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main"
......
......@@ -6,7 +6,7 @@
**PostgreSQL** 是一个开源的对象关系数据库系统。它是用于生产服务器的顶级数据库服务器之一。这篇文章将允许你在 **Debian 9** 伸展 pc 机上安装 PostgreSQL 数据库服务器。
## 步骤 1–启用 Apt 存储
## 步骤 1–启用 Apt
首先,需要在机器上导入 **PostgreSQL** 包签名密钥。使用以下命令导入密钥。
......@@ -14,7 +14,7 @@
wget -q https://www.postgresql.org/media/keys/ACCC4CF8.asc -O - | sudo apt-key add -
```
现在根据您的操作系统在您的系统上添加 PostgreSQL apt 存储库。使用以下命令在**官方** PostgreSQL 网站上显示这些内容。
现在根据您的操作系统在您的系统上添加 PostgreSQL apt 库。使用以下命令在**官方** PostgreSQL 网站上显示这些内容。
```
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main" >> /etc/apt/sources.list.d/pgdg.list
......@@ -22,7 +22,7 @@ sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main
## 步骤 2–在 Debian 9 上安装 PostgreSQL
此时此刻,您已经成功地将 **PostgreSQL** 官方存储库添加到您的系统中。现在更新存储库列表。之后,按照以下说明在我们的 **Ubuntu** 系统中安装最新的 PostgreSQL 服务器。
此时此刻,您已经成功地将 **PostgreSQL** 官方仓库添加到您的系统中。现在更新仓库列表。之后,按照以下说明在我们的 **Ubuntu** 系统中安装最新的 PostgreSQL 服务器。
```
sudo apt-get update
......
......@@ -47,13 +47,13 @@ sudo apt install postfix
GitLab 安装是一个相对**简单明了**清晰的程序。我们将使用 apt 包管理器安装 **GitLab** CE 包。
首先,使用以下 curl 命令将 **GitLab** 存储库添加到系统源列表中:
首先,使用以下 curl 命令将 **GitLab** 库添加到系统源列表中:
```
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
```
存储库启用后,通过执行以下**命令**安装 GitLab 包。
库启用后,通过执行以下**命令**安装 GitLab 包。
```
sudo apt install gitlab-ce
......
# ===Git===
\ No newline at end of file
# Git
\ No newline at end of file
......@@ -12,9 +12,9 @@
VCS 隐藏了多次提交的复杂性,因此您的项目看起来干净整洁。它通过将所有数据存储在标记为隐藏的文件夹中来做到这一点,这样在您需要与它们交互之前,您不会意识到它们存在于您的计算机上。
但是如果你的存储库在一个隐藏的文件夹里呢?这是 VCS 的第三大功能。它允许您查看项目历史记录。您可以检查项目昨天、一个月前甚至一年前的样子,通常只需一个命令。
但是如果你的库在一个隐藏的文件夹里呢?这是 VCS 的第三大功能。它允许您查看项目历史记录。您可以检查项目昨天、一个月前甚至一年前的样子,通常只需一个命令。
它们还允许您与其他团队成员共享您的存储库,以便于协作。开发人员经常在一个项目上一起工作,`VCS`只是让他们更容易。
它们还允许您与其他团队成员共享您的库,以便于协作。开发人员经常在一个项目上一起工作,`VCS`只是让他们更容易。
所以现在让我们理解为什么我们使用`Git`。有很多可用的版本控制系统,但 Git 是其中最受欢迎的。让我们看看为什么!
......
......@@ -12,7 +12,7 @@
`Git`最初是为了帮助管理 Linux 内核,从一开始就让协作变得容易。如果 Git 能有效地管理一个像 Linux 内核一样大的项目,它就能轻松有效地管理你的项目。
此外,Git 的架构是分布式版本控制,而不是集中式的网络访问 VCS。集中式 VCS 需要网络连接才能工作,中央故障可能会导致您的所有工作被破坏。像 Git 这样的分布式 VCS 不需要网络连接来与存储库交互。每个开发人员都有自己的存储库,这使得协作变得又快又容易。
此外,Git 的架构是分布式版本控制,而不是集中式的网络访问 VCS。集中式 VCS 需要网络连接才能工作,中央故障可能会导致您的所有工作被破坏。像 Git 这样的分布式 VCS 不需要网络连接来与仓库交互。每个开发人员都有自己的仓库,这使得协作变得又快又容易。
最后,继续`GitHub`。GitHub 很容易成为与合作者或全世界分享你的项目的最受欢迎的网站。这就像是你项目的社交网络。`Repositories`可以公开,这样任何人都可以提交一个提交,帮助你的项目变得更好。
......
# 中间的
\ No newline at end of file
# 进阶
\ No newline at end of file
# 使用 Git 存储
# 使用 Git
> 原文:<https://www.studytonight.com/github/repositories-in-git>
每当我们开始一个项目时,我们都需要将所有文件存储在一个`repository`中。让我们首先创建一个存储库。我们建议您在单独的专用路径中工作。
每当我们开始一个项目时,我们都需要将所有文件存储在一个`repository`中。让我们首先创建一个库。我们建议您在单独的专用路径中工作。
要创建存储库,请使用 **$ git init** 命令。继续键入以下命令来创建您的第一个存储库。
要创建仓库,请使用 **$ git init** 命令。继续键入以下命令来创建您的第一个仓库。
```
$ git init my_first_repository
```
您将获得一条消息**“在”**中初始化了空的 Git 存储库,以及您的存储库的路径。要检查,输入`ls`,果然,这是你的第一个存储库。
您将获得一条消息**“在”**中初始化了空的 Git 仓库,以及您的仓库的路径。要检查,输入`ls`,果然,这是你的第一个仓库。
```
Go into your repository and type ls.
......@@ -20,19 +20,19 @@ Go into your repository and type ls.
![Creating Git Repositories](img/1cd1d2efe04cd5c91c4b5019ec840a05.png)
**。git 文件夹**是您的**本地存储库**,它存储所有**历史****版本控制信息**
**。git 文件夹**是您的**本地库**,它存储所有**历史****版本控制信息**
但是,如果您已经在进行您的出色项目,并且没有首先初始化 git 存储库,该怎么办呢?别担心。转到该目录,输入 **$ git init** ,不输入存储库的名称。Git 将假设您需要为这个项目目录创建一个存储库。如果你现在输入 **$ ls** ,你会看到那个奇妙的小 **git 文件夹**正坐在那里等着你开始你的令人敬畏的项目。
但是,如果您已经在进行您的出色项目,并且没有首先初始化 git 仓库,该怎么办呢?别担心。转到该目录,输入 **$ git init** ,不输入仓库的名称。Git 将假设您需要为这个项目目录创建一个仓库。如果你现在输入 **$ ls** ,你会看到那个奇妙的小 **git 文件夹**正坐在那里等着你开始你的令人敬畏的项目。
![Renaming Git Repositories](img/1e973e53718af7602e0afae1c9063165.png)
存储库的名称没有**那么重要。git 目录**里面。重命名您的存储库就像使用`mv`命令一样简单。
仓库的名称没有**那么重要。git 目录**里面。重命名您的仓库就像使用`mv`命令一样简单。
```
$ mv my_first_repository awesome_project
```
移除存储库很容易,但却是致命的。在迈出这一步之前要三思。如果您决定继续并移除您的存储库,**删除**。git 目录**会为你做这项工作。**
移除仓库很容易,但却是致命的。在迈出这一步之前要三思。如果您决定继续并移除您的仓库,**删除**。git 目录**会为你做这项工作。**
**```
$ rm -r awesome_project/.git
......@@ -40,7 +40,7 @@ $ rm -r awesome_project/.git
![Deleting Git Repositories](img/d5f0349c8b6d9eb6a3a96b88e81d51dc.png)
完成了。是的,就是这么简单。既然您已经对存储库有了足够的了解,那么让我们来了解一下如何将更改提交给它们。
完成了。是的,就是这么简单。既然您已经对库有了足够的了解,那么让我们来了解一下如何将更改提交给它们。
* * *
......
# 集结地
# 暂存区
> 原文:<https://www.studytonight.com/github/staging-area-in-git>
到目前为止,我们要么只向存储库中添加一个文件,要么一次添加多个文件。如果我们想要控制我们提交给存储库的内容,该怎么办?如前所述,Git 为我们提供了一个`Staging Area`,使得控制我们的提交变得更加容易。首先,确保你已经回到了我们令人敬畏的项目库。
到目前为止,我们要么只向仓库中添加一个文件,要么一次添加多个文件。如果我们想要控制我们提交给仓库的内容,该怎么办?如前所述,Git 为我们提供了一个`Staging Area`,使得控制我们的提交变得更加容易。首先,确保你已经回到了我们令人敬畏的项目库。
```
Now, run the following command on your terminal: $ git status
```
正如您可能已经猜到的,该命令将给出该存储库的状态。输出现在看起来很无聊。
正如您可能已经猜到的,该命令将给出该库的状态。输出现在看起来很无聊。
请注意“工作目录清理”语句。换句话说,没有**跟踪的****修改的**文件。Git 也看不到任何未跟踪的文件,否则它们会列在这里。最后,该命令会告诉您所在的分支,并通知您它没有从服务器上的同一个分支分叉。目前,该分支始终为`"master"`,为默认;在这里你不会担心的。
但是我们已经将**自述文件**添加到我们的存储库中,并且在状态中似乎没有它的迹象。
但是我们已经将**自述文件**添加到我们的库中,并且在状态中似乎没有它的迹象。
Git 状态将只显示分配了一些特殊状态的文件。自提交自述文件以来,没有对其进行任何修改。因此,到目前为止,该文件的状态对它来说并不重要。如果它显示了存储库中所有文件的状态,那么当您在处理一个大项目时,这将是一个漫长而乏味的任务。
Git 状态将只显示分配了一些特殊状态的文件。自提交自述文件以来,没有对其进行任何修改。因此,到目前为止,该文件的状态对它来说并不重要。如果它显示了库中所有文件的状态,那么当您在处理一个大项目时,这将是一个漫长而乏味的任务。
我们的项目目录有点空,只包含自述文件。继续创建一些文件(空的也可以)。再次运行**状态命令**看看有没有什么激动人心的事情在等着我们!
......@@ -22,11 +22,11 @@ Git 状态将只显示分配了一些特殊状态的文件。自提交自述文
确实有!注意我们这次没有得到**‘工作目录清理’**消息,你能猜到为什么吗?
没错。我们向项目中添加了一些尚未添加到存储库中的新文件。继续将文件 1 添加到存储库中(回想一下,我们可以使用 **git add 命令**)。再次运行**状态命令**将会发出新的信息。事情越来越令人兴奋了!
没错。我们向项目中添加了一些尚未添加到仓库中的新文件。继续将文件 1 添加到仓库中(回想一下,我们可以使用 **git add 命令**)。再次运行**状态命令**将会发出新的信息。事情越来越令人兴奋了!
![Staging Area in GIT](img/288df96792f15593b78e44570f19303f.png)
现在,您可以提交这个文件,或者将文件 2 和文件 3 添加到存储库中,然后将它们一起提交。在我们继续之前,在编辑器中打开文件,并向其中添加一些内容。当您再次检查状态时,Git 会明确告诉您这些文件已经被修改。这项功能有助于您在处理大型项目时保持冷静。
现在,您可以提交这个文件,或者将文件 2 和文件 3 添加到库中,然后将它们一起提交。在我们继续之前,在编辑器中打开文件,并向其中添加一些内容。当您再次检查状态时,Git 会明确告诉您这些文件已经被修改。这项功能有助于您在处理大型项目时保持冷静。
![Staging Area in GIT](img/44ea67ab16bf6ce01f669a3eedf7ca3c.png)
......
# GIT:回顾我们的知识
# GIT:回顾我们的仓
> 原文:<https://www.studytonight.com/github/more-about-repository-in-git>
在本教程中,我们将学习更多关于存储库的知识,如存储库日志、在 repo 中提交、检查提交的差异等。
在本教程中,我们将学习更多关于仓库的知识,如仓库日志、在 repo 中提交、检查提交的差异等。
* * *
## 信息技术:存储库日志
## 信息技术:库日志
好吧。因此,我们现在对 Git 及其命令有了很多了解。Git 不仅为您提供了一种维护文件的方法,还为您提供了在需要时签出旧版本文件的工具。开始之前,请确保我们所有的文件都在您的目录中。
我们将使用的第一个命令是`git log`,正如您所料,它向您显示了您在存储库中的所有提交的日志。log 命令首先显示最近的提交。向下滚动将显示我们添加的关于自述文件的第一个提交。让我们分解这个日志的输出。
我们将使用的第一个命令是`git log`,正如您所料,它向您显示了您在库中的所有提交的日志。log 命令首先显示最近的提交。向下滚动将显示我们添加的关于自述文件的第一个提交。让我们分解这个日志的输出。
![Checking Repository Logs](img/4b681107a13c8ea2a2273c38c761498d.png)
它以每次提交的唯一标识符开始。回想一下,我们讨论过 Git 使用阿沙-1 散列来保证安全性。这被用作唯一标识符。您可能认为用数字来命名提交更容易。虽然这是真的,但是有些存储库是公共的,并且有大量的人参与其中,所以在提交发生时很难对它们进行编号。
它以每次提交的唯一标识符开始。回想一下,我们讨论过 Git 使用阿沙-1 散列来保证安全性。这被用作唯一标识符。您可能认为用数字来命名提交更容易。虽然这是真的,但是有些库是公共的,并且有大量的人参与其中,所以在提交发生时很难对它们进行编号。
标识符下面是发起提交的**作者姓名**。这使得跟踪谁对你的项目有贡献成为可能。下面是关于提交日期时间信息。
......@@ -32,11 +32,11 @@ Git 使用**‘git check out’**命令来恢复早期版本。为此,它需
![Checking out a commit](img/f6c8df2b5f74956318ae3f38cdcfbb0c.png)
在我们被它吓到之前,让我们理解我们正在检查一个旧版本的存储库。当我们第一次启动提交时,我们根本没有文件,文件 2,文件 3!这解释了为什么没有这些文件。
在我们被它吓到之前,让我们理解我们正在检查一个旧版本的库。当我们第一次启动提交时,我们根本没有文件,文件 2,文件 3!这解释了为什么没有这些文件。
* * *
## GIT:检查提交中的差异
## GIT检查提交中的差异
让我们回到现在。我们可以再次使用**【git 结账】**,但是我们回到哪里呢?如果你还记得**“git status”**命令,它会显示一条信息**“在分支机构主机上”**
......
# GIT:向外扩展
# GIT:分叉
> 原文:<https://www.studytonight.com/github/branching-in-git>
......@@ -8,7 +8,7 @@
有些人将 Git 的分支模型称为其`"killer feature"`,这无疑让 Git 在 VCS 社区中脱颖而出。为什么这么特别?Git 分支非常轻量级,使得分支操作几乎是即时的,并且在分支之间来回切换通常也一样快。与许多其他风投不同,Git 鼓励经常分支和合并的工作流,甚至一天分多次。理解和掌握这个特性给了你一个强大而独特的工具,可以完全改变你的开发方式。
让我们考虑一下我们的**牛逼项目**是基于一个网络开发项目。您目前在主分支上,进展很顺利,但是您需要在项目中添加一个登录功能。现在,您肯定不希望这段代码干扰您当前的代码,是吗?让我们给这个特性一个自己的分支。您可以使用`git branch`命令创建一个新分支。检查存储库的状态,确保您没有任何要提交的内容。
让我们考虑一下我们的**牛逼项目**是基于一个网络开发项目。您目前在主分支上,进展很顺利,但是您需要在项目中添加一个登录功能。现在,您肯定不希望这段代码干扰您当前的代码,是吗?让我们给这个特性一个自己的分支。您可以使用`git branch`命令创建一个新分支。检查库的状态,确保您没有任何要提交的内容。
命名新的分支登录功能:`$ git branch signin_feature`
......@@ -42,7 +42,7 @@ $ git checkout -b subs_feature
现在我们已经创建了一些分支,让我们了解更多关于管理它们的知识。我们现在总共有 3 个分支机构,但更大的项目有数百甚至数千个分支机构。我们如何跟踪哪些分支存在?
Git 允许我们通过使用**“git 分支”**命令来查看存储库中的所有分支:
Git 允许我们通过使用**“git 分支”**命令来查看库中的所有分支:
```
$ git branch
......
# GIT:合并分支
# GIT合并分支
> 原文:<https://www.studytonight.com/github/merging-in-git>
......
# GIT:合并冲突
# GIT合并冲突
> 原文:<https://www.studytonight.com/github/conflict-in-git>
......@@ -32,7 +32,7 @@ Git 给了我们全部的权力来编辑和保留我们在最终项目中想要
手动处理合并可能看起来有点困难和复杂,但是它可以确保您在最终的项目中有正确的版本。所以这一切都是为了合并。
当你在个人项目上工作时,像 Git 这样的 VCS 是有用的,但是当你和其他人合作时,它们显示了它们真正的力量。当您协作时,您需要远程存储您的存储库。接下来让我们了解更多关于与远程存储库交互的信息!
当你在个人项目上工作时,像 Git 这样的 VCS 是有用的,但是当你和其他人合作时,它们显示了它们真正的力量。当您协作时,您需要远程存储您的仓库。接下来让我们了解更多关于与远程仓库交互的信息!
* * *
......
# 先进的
\ No newline at end of file
# 高级
\ No newline at end of file
# GIT:使用远程存储
# GIT:使用远程仓
> 原文:<https://www.studytonight.com/github/remote-in-git>
又见面了。到目前为止,我们非常确定您对 Git 基础知识已经足够了解,并且可以非常轻松地处理自己的存储库。如果只有你一个人在做你的项目,这很好。您可以提交您的更改,创建和合并分支,以保持您的存储库干净。
又见面了。到目前为止,我们非常确定您对 Git 基础知识已经足够了解,并且可以非常轻松地处理自己的仓库。如果只有你一个人在做你的项目,这很好。您可以提交您的更改,创建和合并分支,以保持您的仓库干净。
但是我们还是错过了一些东西。如果不是只有你一个人在做这个项目呢?*喘息!*别担心,我们是来教您如何使用远程存储库的。你会问,什么是远程仓库?考虑一下这个...
但是我们还是错过了一些东西。如果不是只有你一个人在做这个项目呢?*喘息!*别担心,我们是来教您如何使用远程库的。你会问,什么是远程仓库?考虑一下这个...
你目前正在做你的令人敬畏的项目,并决定引进一个能帮助你并和你一起工作的人。但是...但是...他们不能在您的存储库中工作,他们需要在自己的机器上访问它。他们可以创建存储库的副本并继续工作。这个过程叫做`Cloning`。所以现在,你们都做得很好,你们经常承诺,使用分支机构等。但是在不同的机器上。那么,我们如何将所有这些工作结合起来呢?
你目前正在做你的令人敬畏的项目,并决定引进一个能帮助你并和你一起工作的人。但是...但是...他们不能在您的仓库中工作,他们需要在自己的机器上访问它。他们可以创建仓库的副本并继续工作。这个过程叫做`Cloning`。所以现在,你们都做得很好,你们经常承诺,使用分支机构等。但是在不同的机器上。那么,我们如何将所有这些工作结合起来呢?
就像合并分支一样,您也可以合并存储库。有些人更喜欢坚持 Git 的分散性质,而有些人更喜欢将存储库托管在其他地方的中央服务器上。
就像合并分支一样,您也可以合并仓库。有些人更喜欢坚持 Git 的分散性质,而有些人更喜欢将仓库托管在其他地方的中央服务器上。
在接下来的章节中,我们将了解更多关于远程存储库的信息。当你在做一个大项目时,你必须和别人分享你的进展。这是通过使用远程存储库来实现的。让我们进入下一章,开始使用远程存储库。
在接下来的章节中,我们将了解更多关于远程仓库的信息。当你在做一个大项目时,你必须和别人分享你的进展。这是通过使用远程仓库来实现的。让我们进入下一章,开始使用远程仓库。
* * *
......
# GIT:克隆
# GIT克隆
> 原文:<https://www.studytonight.com/github/cloning-in-git>
除非您自己启动项目,否则开始基于 Git 的流程的第一步是克隆您将要使用的存储库。Git 提供了一些简单的命令来帮助我们开始。
除非您自己启动项目,否则开始基于 Git 的流程的第一步是克隆您将要使用的库。Git 提供了一些简单的命令来帮助我们开始。
通常,远程存储库是位于您可以通过网络访问的计算机上的存储库。对 Git 来说,远程只是意味着其他地方。但是由于你手边可能没有另一台计算机,我们将使用位于同一台计算机上但路径不同的存储库。让我们继续克隆我们当前的存储`awesome_project`。Git 对此有一个命令,是的,你猜对了,它的 **$git 克隆**。当然你需要指定你需要克隆什么。
通常,远程仓库是位于您可以通过网络访问的计算机上的仓库。对 Git 来说,远程只是意味着其他地方。但是由于你手边可能没有另一台计算机,我们将使用位于同一台计算机上但路径不同的仓库。让我们继续克隆我们当前的仓`awesome_project`。Git 对此有一个命令,是的,你猜对了,它的 **$git 克隆**。当然你需要指定你需要克隆什么。
如果您在不同的计算机上工作,这可能是一个网络地址。如果存储库托管在某个服务器上,这将是一个网址。现在,我们可以为它提供一条通往我们的 awesome_project 存储库的路径。让我们命名我们的克隆体`our_clone_project`
如果您在不同的计算机上工作,这可能是一个网络地址。如果仓库托管在某个服务器上,这将是一个网址。现在,我们可以为它提供一条通往我们的 awesome_project 仓库的路径。让我们命名我们的克隆体`our_clone_project`
![Cloning in GIT](img/76327de97fe9b8c45c7a56acdec1da22.png)
看看这个仓库,你会发现一切都如你所料。Git 已经自动为我们建立了一个出色的存储库作为远程存储库。运行 **$ git remote** ,您将看到它打印出`origin`,这是我们最初的存储库。让我们切换回原来的存储库,再次运行 **$ git remote**
看看这个仓库,你会发现一切都如你所料。Git 已经自动为我们建立了一个出色的仓库作为远程仓库。运行 **$ git remote** ,您将看到它打印出`origin`,这是我们最初的仓库。让我们切换回原来的仓库,再次运行 **$ git remote**
什么都没有打印出来。如您所见,我们的原始存储库完全不受克隆的影响。这很好,因为如果有人决定查看您的代码,您不希望您的存储库改变。
什么都没有打印出来。如您所见,我们的原始仓库完全不受克隆的影响。这很好,因为如果有人决定查看您的代码,您不希望您的仓库改变。
但是这里的问题是,我们希望我们的两个存储库相互通信,而我们的`awesome_project`不知道我们的 _clone_project 存在。让我们通过使用 **$ git 远程**添加命令来解决这个问题。您需要为此添加提供一个名称,在这里使用`origin`没有意义。让我们称之为`our_clone`并提供我们的存储库的路径。噗!完成了!
但是这里的问题是,我们希望我们的两个仓库相互通信,而我们的`awesome_project`不知道我们的 _clone_project 存在。让我们通过使用 **$ git 远程**添加命令来解决这个问题。您需要为此添加提供一个名称,在这里使用`origin`没有意义。让我们称之为`our_clone`并提供我们的仓库的路径。噗!完成了!
![Cloning in GIT](img/9cec0d8e5a61d053960d151d817e71a2.png)
我们现在可以创建新的分支、文件并一起工作。但是我们如何跟上两个存储库中的变化呢?在下一章中,我们将讨论在存储库之间推和拉我们的变更。
我们现在可以创建新的分支、文件并一起工作。但是我们如何跟上两个仓库中的变化呢?在下一章中,我们将讨论在仓库之间推和拉我们的变更。
* * *
......
# GIT:推拉
# GIT:推送拉取
> 原文:<https://www.studytonight.com/github/push-pull-in-git>
现在我们已经建立了彼此对话的存储库,让我们看看它们之间的`pushing``pulling`变化。假设我们将开发一个数据库特性。
现在我们已经建立了彼此对话的库,让我们看看它们之间的`pushing``pulling`变化。假设我们将开发一个数据库特性。
#### 推送命令
......@@ -27,7 +27,7 @@ The easiest way to do this is to push our changes to the remote repository: $ gi
$ git config --global push.default simple
```
在我们继续之前,请记住我们的新分支还不存在于我们的远程存储库中。我们需要明确要求 Git 通过向`push`命令提供分支名称来跟踪这个新分支的变化。
在我们继续之前,请记住我们的新分支还不存在于我们的远程库中。我们需要明确要求 Git 通过向`push`命令提供分支名称来跟踪这个新分支的变化。
默认情况下, **$ git push** 的第一个参数必须是一个遥控器的名称。如果你不提供一个,Git 会自动假设你说的是原点。继续输入 **$ git 推送原始数据 _ 功能**
......@@ -47,7 +47,7 @@ $ git config --global push.default simple
![Pushing and Pulling in GIT](img/748fe904fda6c6e5202092b8a346474d.png)
Git 试图把这些信息拉过来,哦,对了。在两个存储库中,我们对同一个文件进行了编辑,git 不知道如何修复它。它的工作方式非常类似于合并,只是它合并了来自两个存储库的更改。召回合并冲突?我们这里有一个。
Git 试图把这些信息拉过来,哦,对了。在两个仓库中,我们对同一个文件进行了编辑,git 不知道如何修复它。它的工作方式非常类似于合并,只是它合并了来自两个仓库的更改。召回合并冲突?我们这里有一个。
![Pushing and Pulling in GIT](img/fcd9fe33a3bc1022b92daf19d583f8f3.png)
......@@ -57,11 +57,11 @@ Git 试图把这些信息拉过来,哦,对了。在两个存储库中,我
![Pushing and Pulling in GIT](img/818109264ed433bce9c12e20a0ca3578.png)
丑陋的错误信息。关于未配置推送位置的信息。在您与远程存储库的大多数交互中,您将从您的原点推动和拉动变更。在这种情况下,我们自己创建了这个存储库,这就是为什么我们需要指定我们要推送到的目的地。啊,一切都好。
丑陋的错误信息。关于未配置推送位置的信息。在您与远程仓库的大多数交互中,您将从您的原点推动和拉动变更。在这种情况下,我们自己创建了这个仓库,这就是为什么我们需要指定我们要推送到的目的地。啊,一切都好。
![Pushing and Pulling in GIT](img/646d8ca8f403f2b5e97d4f42e4dfeb5b.png)
一旦你得到一些练习,你会很容易做到这一点。接下来,我们将了解最受欢迎的存储库托管服务`GitHub`
一旦你得到一些练习,你会很容易做到这一点。接下来,我们将了解最受欢迎的库托管服务`GitHub`
* * *
......
# GIT:使用 Github
# GIT使用 Github
> 原文:<https://www.studytonight.com/github/github>
有很多选项允许您托管您的存储库。如果你精通系统管理,你可以自己托管它们。如果你不介意你的存储库是公共的,那么有很多服务可以免费托管,例如 Bitbucket、CloudForge、Assembla 等。这些服务中最受欢迎的是`GitHub`
有很多选项允许您托管您的仓库。如果你精通系统管理,你可以自己托管它们。如果你不介意你的仓库是公共的,那么有很多服务可以免费托管,例如 Bitbucket、CloudForge、Assembla 等。这些服务中最受欢迎的是`GitHub`
GitHub 拥有数百万开发人员的用户群,并提供优秀的工具来管理您的项目。去 [GitHub](https://github.com/) 设置账号。一旦你注册了,GitHub 会为你提供所有他们必须提供的功能
![GITHUB](img/254a7d72be19c6832a73d0e9a911d0f0.png)
我们建议您通过游览来更好地了解 GitHub。您可以搜索存储库,例如,继续并在搜索栏中键入“Linux”。第一个结果是 Linux 内核源代码树。它后面的小图显示了人们在一段时间内提交到存储库的频率。让我们去看看这一页。
我们建议您通过游览来更好地了解 GitHub。您可以搜索仓库,例如,继续并在搜索栏中键入“Linux”。第一个结果是 Linux 内核源代码树。它后面的小图显示了人们在一段时间内提交到仓库的频率。让我们去看看这一页。
![GITHUB](img/c79aad8f939de445551fba6ee6e97341.png)
我们看到了项目的简要描述以及关于存储库的一些统计数据。随着时间的推移,Linux 存储库已经有超过 50 万次提交和 452 次发布。那是巨大的!
我们看到了项目的简要描述以及关于仓库的一些统计数据。随着时间的推移,Linux 仓库已经有超过 50 万次提交和 452 次发布。那是巨大的!
![GITHUB](img/3ee38bd3506591dfb2c0197c00f84340.png)
如果 GitHub 不能轻松地提供这些信息,我们将不得不将存储库的一个副本克隆到我们的计算机上,以便能够发现 GitHub 项目的活跃程度,开始是什么样的项目,代码当前是什么样子,或者我们可能有任何其他问题。因为他们在 GitHub 上托管,所以我们可以从我们的网络浏览器中找到所有的信息。
如果 GitHub 不能轻松地提供这些信息,我们将不得不将库的一个副本克隆到我们的计算机上,以便能够发现 GitHub 项目的活跃程度,开始是什么样的项目,代码当前是什么样子,或者我们可能有任何其他问题。因为他们在 GitHub 上托管,所以我们可以从我们的网络浏览器中找到所有的信息。
GitHub 还提供了一些其他不错的特性。有些项目有自己的问题跟踪器。如果我们点击页面的问题标签,我们可以看到人们在哪里归档 bug 并询问关于所述项目的问题。如果您不熟悉问题跟踪器,它为人们提供了一个很好的地方来提出和讨论关于有问题的项目的问题,并且通常提供工具来帮助项目维护人员有效地解决这些问题。
拉请求是一个有趣的概念,起源于 GitHub。请记住,在 GitHub 中,提取代码意味着我们从远程存储库中合并变更。遵循这一逻辑,当您有代码想要某人拉进他们的项目时,您使用拉请求。这是一个非常有用的协作工具。
拉请求是一个有趣的概念,起源于 GitHub。请记住,在 GitHub 中,提取代码意味着我们从远程库中合并变更。遵循这一逻辑,当您有代码想要某人拉进他们的项目时,您使用拉请求。这是一个非常有用的协作工具。
让我们停下来想想我们的`awesome_project`。它远不如 Linux 活跃,但我们仍然希望在 GitHub 上发布它。在右上角,我们可以看到一个创建新回购按钮。就名字而言,我们现在只使用令人敬畏的项目。如果需要,请提供描述。这个库将是公开的,因为我们是免费的。
没关系,我们还是想和你们分享我们的仓库!GitHub 在创建一个全新的存储库方面提供了一些帮助。但是由于我们有自己的存储库,我们只需要完成最后两个步骤。我们需要添加 GitHub 作为一个远程,我们需要将我们的更改向上推。
没关系,我们还是想和你们分享我们的仓库!GitHub 在创建一个全新的仓库方面提供了一些帮助。但是由于我们有自己的仓库,我们只需要完成最后两个步骤。我们需要添加 GitHub 作为一个远程,我们需要将我们的更改向上推。
让我们继续这样做:
......
# git:尾注
# GIT:尾注
> 原文:<https://www.studytonight.com/github/end-note>
......
# ===詹金斯= = =
\ No newline at end of file
# Jenkins
\ No newline at end of file
......@@ -4,7 +4,7 @@
持续集成是一个过程,在这个过程中,所有的开发活动(每天的活动)都通过编译和构建项目在给定的时间点进行集成,并经过良好的测试。持续集成背后的基本思想是通过团队中的开发人员进行大量的签入来确保最终没有编译问题。此外,这将有助于在开发过程的早期阶段识别任何编译问题。
在这个过程中,所有开发人员的活动都在中央系统(进行所有签入的存储库)进行协作和合并。在这个过程中,主要目标还是消除“集成问题”。每一个集成都是自动构建、部署和全面测试的。
在这个过程中,所有开发人员的活动都在中央系统(进行所有签入的库)进行协作和合并。在这个过程中,主要目标还是消除“集成问题”。每一个集成都是自动构建、部署和全面测试的。
* * *
......@@ -12,7 +12,7 @@
短语**持续整合**最早是由**格雷迪·布奇**在 1994 年创造的。他在面向对象分析&设计应用中创造了这个短语,以解释小的内部发布如何在开发微过程中发挥重要作用。1997 年,一个叫肯特·贝克的美国软件工程师和另一个叫罗恩·杰弗里斯的人,随着不断的集成,发明了*极限编程*
连续集成(CI)最初是为了与在测试驱动开发环境中编写的自动化单元测试结合使用而发明的。即在开发人员机器的本地环境中运行所有单元测试,并确保在将所有测试推入主存储库之前,所有测试都成功通过,没有任何其他问题。这是一个额外的注意事项,以避免在主流的工作副本上出现任何损坏,尤其是当开发人员在同一个模块上工作时。
连续集成(CI)最初是为了与在测试驱动开发环境中编写的自动化单元测试结合使用而发明的。即在开发人员机器的本地环境中运行所有单元测试,并确保在将所有测试推入主库之前,所有测试都成功通过,没有任何其他问题。这是一个额外的注意事项,以避免在主流的工作副本上出现任何损坏,尤其是当开发人员在同一个模块上工作时。
* * *
......@@ -36,7 +36,7 @@
2. 不再整合流程。
3. 许多糟糕的代码味道& bugs 可以在开发过程的早期阶段减少。
4. 频繁的部署过程更容易、更快。
5. 通过使用像詹金斯(早期被称为哈德逊)和巡航控制这样的工具,很容易实现这个过程。
5. 通过使用像Jenkins(早期被称为哈德逊)和巡航控制这样的工具,很容易实现这个过程。
* * *
......
# 詹金斯集成服务器
# Jenkins集成服务器
> 原文:<https://www.studytonight.com/jenkins/jenkins-integration-server>
在前一章中,我们研究了“持续集成”的概念。为了为启用了配置项的项目创建环境,需要一个工具。于是,詹金斯投入了行动。Jenkins 是一个开源工具,用于实现持续集成。
在前一章中,我们研究了“持续集成”的概念。为了为启用了配置项的项目创建环境,需要一个工具。于是,Jenkins投入了行动。Jenkins 是一个开源工具,用于实现持续集成。
由于甲骨文公司的一些问题,詹金斯项目从哈德逊开始。Jenkins 基本上是一个运行在 servlet 容器中的基于服务器的系统,这个容器就是 apache tomcat。它支持许多工具,如 Git、SVN、Mercurial 和 Clearcase。詹金斯最初是由一个名为“T2”的开发人员创办的。
由于甲骨文公司的一些问题,Jenkins项目从哈德逊开始。Jenkins 基本上是一个运行在 servlet 容器中的基于服务器的系统,这个容器就是 apache tomcat。它支持许多工具,如 Git、SVN、Mercurial 和 Clearcase。Jenkins最初是由一个名为“T2”的开发人员创办的。
* * *
## 詹金斯是做什么的?
## Jenkins是做什么的?
詹金斯的主要工作是执行基于触发器配置的步骤列表。以下是詹金斯触发时执行的步骤/任务列表:
Jenkins的主要工作是执行基于触发器配置的步骤列表。以下是Jenkins触发时执行的步骤/任务列表:
1. 执行代码编译&用 ANT、Maven 或 Gradle 构建软件。
2. 运行内部 shell 脚本
......@@ -22,16 +22,16 @@
* * *
### 詹金斯关注什么?
### Jenkins关注什么?
詹金斯主要关注 2 项重要活动:
Jenkins主要关注 2 项重要活动:
1. **软件的持续构建:**只不过是创建一个持续的集成环境
2. **监视外部作业的执行:**这监视定义的作业- CRON 作业。
* * *
### 詹金斯的特点
### Jenkins的特点
1. 易于安装和配置。
2. 构建细节的永久链接可读 URL。
......@@ -44,13 +44,13 @@
* * *
### 詹金斯最佳实践
### Jenkins最佳实践
以下是与詹金斯合作时的一些最佳实践:
以下是与Jenkins合作时的一些最佳实践:
1. 始终确保詹金斯-用户身份验证的安全。
1. 始终确保Jenkins-用户身份验证的安全。
2. 使用文件指纹来管理依赖关系。
3.詹金斯与 JIRA 这样的问题跟踪系统整合在一起。
3.Jenkins与 JIRA 这样的问题跟踪系统整合在一起。
4. 始终配置 Jenkins 以生成趋势报告。
5. 在磁盘空间较多的分区空间上安装 Jenkins。
6. 为维护和开发项目设置不同的作业。
......
# 如何配置詹金斯构建服务器
# 如何配置Jenkins构建服务器
> 原文:<https://www.studytonight.com/jenkins/configuring-jenkins>
......@@ -8,9 +8,9 @@
* * *
## 詹金斯设置
## Jenkins设置
1. 从 https://jenkins-ci.org/下载最新的詹金斯战报。向右上方点击链接最新和最大的下载最新的战争文件。
1. 从 https://jenkins-ci.org/下载最新的Jenkins战报。向右上方点击链接最新和最大的下载最新的战争文件。
2. 在我们机器的本地网络服务器中部署 **Jenkins.war** 文件。例如雄猫
3. Start the server and open the browser and hit the URL [http://localhost:8080/jenkins](http://localhost:8080/jenkins)
......
# 如何在詹金斯配置 JDK
# 如何在Jenkins配置 JDK
> 原文:<https://www.studytonight.com/jenkins/configuring-jdk-in-jenkins>
在前一章中,我们学习了如何配置 Jenkins 并启动服务器,并查看其 GUI 了解其他基本配置。本章将学习如何在詹金斯配置 JDK。由于 Jenkins 通常用于构建和部署 java 应用程序,因此它为 Java 应用程序提供了出色的特性。
在前一章中,我们学习了如何配置 Jenkins 并启动服务器,并查看其 GUI 了解其他基本配置。本章将学习如何在Jenkins配置 JDK。由于 Jenkins 通常用于构建和部署 java 应用程序,因此它为 Java 应用程序提供了出色的特性。
默认情况下,Jenkins 将使用从系统路径中找到的 java 版本。这就是詹金斯号本身运行的情况。但是,可能存在需要配置多个版本的 JDK 的情况。考虑一下,在生产系统中,应用程序可能在 JDK 5 上运行,在某些质量保证平台中,可能需要更高版本的 JDK,以便执行某些特定的测试,例如性能问题。
默认情况下,Jenkins 将使用从系统路径中找到的 java 版本。这就是Jenkins号本身运行的情况。但是,可能存在需要配置多个版本的 JDK 的情况。考虑一下,在生产系统中,应用程序可能在 JDK 5 上运行,在某些质量保证平台中,可能需要更高版本的 JDK,以便执行某些特定的测试,例如性能问题。
作为一种最佳实践,使用与生产环境中使用的版本接近的 java 版本来构建应用程序总是明智的。因为,在 JDK 5 下开发的应用程序可以很容易地与 JDK 6 一起运行,但反过来,失败的几率可能总是很高。
......@@ -12,9 +12,9 @@ Jenkins 提供了一个很好的特性来配置多个 JVM,以克服上面提
* * *
## 在詹金斯配置 JDK
## 在Jenkins配置 JDK
以下是在詹金斯配置 JDK 应遵循的步骤:
以下是在Jenkins配置 JDK 应遵循的步骤:
1. 将 Jenkins.war 部署到 tomcat 服务器中并启动服务器。
* From the home page, click on the link **Manage Jenkins** and click on **Configure System** as shown below :
......
# 保护詹金斯
\ No newline at end of file
# 保护Jenkins
\ No newline at end of file
# 保护詹金斯构建服务器
# 保护Jenkins构建服务器
> 原文:<https://www.studytonight.com/jenkins/securing-jenkins>
这里需要理解的最基本的事情是确保詹金斯的安全,因为它是开放的。任何人都可以使用该网址访问詹金斯,并在詹金斯执行各种可用的任务。因此,这需要得到保证。作为最佳实践,建议始终保护 Jenkins,然后配置全局安全性。最好的方法是通过配置到我们自己的本地数据库来使用 Jenkins。
这里需要理解的最基本的事情是确保Jenkins的安全,因为它是开放的。任何人都可以使用该网址访问Jenkins,并在Jenkins执行各种可用的任务。因此,这需要得到保证。作为最佳实践,建议始终保护 Jenkins,然后配置全局安全性。最好的方法是通过配置到我们自己的本地数据库来使用 Jenkins。
以下是保护詹金斯应遵循的步骤:
以下是保护Jenkins应遵循的步骤:
1. 部署 **Jenkins.war** 并启动服务器。
2. 打开詹金斯主页,点击**管理詹金斯**
2. 打开Jenkins主页,点击**管理Jenkins**
3. In the **Manage Jenkins** page, click on **Setup Security** button.
![Securing Jenkins Server](img/43f0b79339bb32d73e02c187864c2d5e.png)
......@@ -28,7 +28,7 @@
![Securing Jenkins Server](img/463e156e5670575e0f5157cc2f81f018.png)
* 现在点击**管理詹金斯** &选择**配置全球安全**。在安全领域部分,取消选择<u>允许用户注册</u>选项。这将确保在您的许可下无法创建新用户。* Now, we need to configure the authentication for the accounts. The 2 best options preferred are **Matrix-based security** & **Project-base project authorization strategy**. This enables you to set per user for the actions which they can perform. Here, I have considered **Matrix-based security**
* 现在点击**管理Jenkins** &选择**配置全球安全**。在安全领域部分,取消选择<u>允许用户注册</u>选项。这将确保在您的许可下无法创建新用户。* Now, we need to configure the authentication for the accounts. The 2 best options preferred are **Matrix-based security** & **Project-base project authorization strategy**. This enables you to set per user for the actions which they can perform. Here, I have considered **Matrix-based security**
![Securing Jenkins Server](img/0851ff1e5ddead482a7c8c4bcb2f8b39.png)
......
# 在詹金斯配置构建系统
# 在Jenkins配置构建系统
> 原文:<https://www.studytonight.com/jenkins/configuring-build-system>
......@@ -14,19 +14,19 @@
* * *
## 詹金斯:配置供应链管理
## Jenkins:配置供应链管理
为了为构建系统配置配置管理,在“源代码管理”系统下,为所需的项目选择所需的配置管理选项,并相应地提供详细信息。
![Configuring SCM](img/3851428e674285c5c1b4742d6489fbab.png)
**注意:**可以在 Jenkins 中配置多个存储库 URL。
**注意:**可以在 Jenkins 中配置多个库 URL。
* * *
## 詹金斯:配置构建触发器
## Jenkins:配置构建触发器
詹金斯证明了触发构建的多种选择。以下都是一样的:
Jenkins证明了触发构建的多种选择。以下都是一样的:
* 每当生成快照依赖项时生成
* 远程触发构建(例如,从脚本)
......@@ -42,7 +42,7 @@
* * *
## 詹金斯:配置马文
## Jenkins:配置马文
对于任何要在 Jenkins 中构建的 maven 项目,入口点都是 pom.xml。配置项目构建的简单方法是指向项目的 pom.xml,如下所示:
......@@ -52,7 +52,7 @@
* * *
## 詹金斯:配置 Maven 构建设置
## Jenkins:配置 Maven 构建设置
Jenkins 提供了通过发送为每次构建运行配置的邮件来配置通知服务的功能。它可以配置如下所示:
......@@ -60,7 +60,7 @@ Jenkins 提供了通过发送为每次构建运行配置的邮件来配置通知
* * *
## 詹金斯:配置后期构建活动
## Jenkins:配置后期构建活动
Jenkins 还提供了配置构建后需要执行的活动的功能。以下是可用的选项:
......
# 詹金斯管理
\ No newline at end of file
# Jenkins管理
\ No newline at end of file
# 詹金斯插件管理
# Jenkins插件管理
> 原文:<https://www.studytonight.com/jenkins/plugin-management>
Jenkins 是这样一个方便的工具,可以通过添加额外的插件来轻松扩展,以适应更多的功能。例如,包括 Git 作为配置管理选项,JUnit 插件等。这可以通过选择选项**管理詹金斯-管理插件**来轻松完成,如下所示。
Jenkins 是这样一个方便的工具,可以通过添加额外的插件来轻松扩展,以适应更多的功能。例如,包括 Git 作为配置管理选项,JUnit 插件等。这可以通过选择选项**管理Jenkins-管理插件**来轻松完成,如下所示。
![Plugin Management](img/3f5b62393a56dea5863a5f64a85ddad2.png)
从管理詹金斯屏幕点击**管理插件**。这将进入列出所有可用插件的页面。单击可用选项卡,从可用插件列表中选择需要安装的插件。例如,选择如下图所示的 Github 插件,点击页面底部的<u>不重启安装</u>按钮。这将下载 github 插件,并安装在詹金斯
从管理Jenkins屏幕点击**管理插件**。这将进入列出所有可用插件的页面。单击可用选项卡,从可用插件列表中选择需要安装的插件。例如,选择如下图所示的 Github 插件,点击页面底部的<u>不重启安装</u>按钮。这将下载 github 插件,并安装在Jenkins
![Plugin Management](img/5ac83fd347d3d71b7ff422da2e75c265.png)
......
# 在詹金斯服务器中设置作业
# 在Jenkins服务器中设置作业
> 原文:<https://www.studytonight.com/jenkins/setting-up-job>
詹金斯,任何项目的构建都是由 JOBs 处理的。因此,为了构建一个项目,总是需要创建一个作业。这可以很容易地完成,如下所示:
Jenkins,任何项目的构建都是由 JOBs 处理的。因此,为了构建一个项目,总是需要创建一个作业。这可以很容易地完成,如下所示:
从 Jenkins 主页点击**新项目**,只需输入项目名称,选择 **Maven 项目**,点击【确定】。
......
# 詹金斯服务器中的备份管理
# Jenkins服务器中的备份管理
> 原文:<https://www.studytonight.com/jenkins/backup-management>
众所周知,詹金斯总是需要一些磁盘空间来执行构建作业并将其归档。这是通过使用 JENKINS_HOME 进行配置的。只要需要,就可以配置此路径。
众所周知,Jenkins总是需要一些磁盘空间来执行构建作业并将其归档。这是通过使用 JENKINS_HOME 进行配置的。只要需要,就可以配置此路径。
* * *
......@@ -26,7 +26,7 @@
由于 Jenkins 可以通过使用几个插件得到极大的扩展,因此 Jenkins 中出现了一个可以用于备份管理的插件- **ThinBackup** 插件。该插件备份作业特定的配置文件。
詹金斯主页,点击**管理詹金斯**,在下一页点击**管理插件**
Jenkins主页,点击**管理Jenkins**,在下一页点击**管理插件**
![ThinBackup Plugin](img/d7ee971bd85bc90a834126d7967a64b2.png)
......@@ -34,7 +34,7 @@
![ThinBackup Plugin](img/5fae885e680537e49a39aacb9ab0d704.png)
只要重启詹金斯就能看到插件成功安装。从主页,点击**管理詹金斯**链接,在下一页,从列表中如果可以发现 ThinBackup 插件安装。只要点击相同的,下面的页面就会显示出来。
只要重启Jenkins就能看到插件成功安装。从主页,点击**管理Jenkins**链接,在下一页,从列表中如果可以发现 ThinBackup 插件安装。只要点击相同的,下面的页面就会显示出来。
![ThinBackup Plugin](img/fffd257c1110c30f1cdc131682143e87.png)
......
......@@ -16,7 +16,7 @@
**b)有状态知识会话**:在有状态知识会话中,一旦所有**事实**被插入并且**规则**被触发,并且一个规则正在更新事实并且发布事实的更新,另一个规则也可以被触发,因为事实仍然在**会话**中。类似于在**网络应用程序**中,直到**会话**激活,您添加到购物车的所有项目都是可见的。
9. **知识库:**这是一个管理**规则****流程****内部类型**集合的界面。在`Drools`中,这些通常被称为知识定义或知识
9. **库:**这是一个管理**规则****流程****内部类型**集合的界面。在`Drools`中,这些通常被称为知识定义或知识
11. **议程:**这是一个逻辑概念。议程是规则等待被触发的合乎逻辑的地方。
......
......@@ -30,7 +30,7 @@
2. **artifactId** -即使名字写为“Id”,这也基本上是定义了任何项目的名称。
3. **版本** -该元素用于导出任何项目的版本,以便在项目开发阶段进行重大变更/实现时将版本分类。
每当执行项目任务时,maven 都会扫描 pom 中的条目。Xml 文件。这将使 maven 能够读取所有配置、定义的构建概要文件、配置的存储库以及所有其他重要细节,然后相应地执行任务。
每当执行项目任务时,maven 都会扫描 pom 中的条目。Xml 文件。这将使 maven 能够读取所有配置、定义的构建概要文件、配置的库以及所有其他重要细节,然后相应地执行任务。
**注意:**实际上 pom.xml 在 maven 1 中更早就被用在 project.xml 的名称中。随着 maven 2 版本的推出,它被重命名为 pom.xml
......
# 什么是 Maven 中的存储库?
# 什么是 Maven 中的库?
> 原文:<https://www.studytonight.com/maven/repositories-in-maven>
对于 maven 来说,要下载构建和依赖项(jar 文件)以及其他作为任何项目的一部分配置的插件所需的工件,应该有一个放置所有这些工件的公共位置。这个公共共享区域在 maven 中被称为**存储库**
对于 maven 来说,要下载构建和依赖项(jar 文件)以及其他作为任何项目的一部分配置的插件所需的工件,应该有一个放置所有这些工件的公共位置。这个公共共享区域在 maven 中被称为**库**
在 maven 中,存储库分为 3 个主要类别,如下所示:
在 maven 中,库分为 3 个主要类别,如下所示:
1. 本地存储
2. 远程存储
3. 中央存储
1. 本地
2. 远程
3. 中央
* * *
## 本地存储
## 本地
驻留在我们本地机器上的存储库从远程/中央存储库下载并准备使用。可以在标签`<localRepository>`下的 maven 文件夹的 **settings.xml** 文件中配置保存/放置本地所有依赖项的文件夹。
驻留在我们本地机器上的仓库从远程/中央仓库下载并准备使用。可以在标签`<localRepository>`下的 maven 文件夹的 **settings.xml** 文件中配置保存/放置本地所有依赖项的文件夹。
```
<settings
......@@ -28,9 +28,9 @@
* * *
## 远程存储
## 远程
顾名思义,这个存储库位于远程服务器中,可以通过使用不同的文件传输协议(如`file://``http://`)来访问。远程存储库将用于下载和上传依赖项和工件。
顾名思义,这个仓库位于远程服务器中,可以通过使用不同的文件传输协议(如`file://``http://`)来访问。远程仓库将用于下载和上传依赖项和工件。
```
<repositories>
......@@ -43,9 +43,9 @@
* * *
## 中央存储
## 中央
这是 maven 社区提供的存储库。这个存储库包含了许多 java 项目常用/必需的库。基本上,如果开发人员想要使用这个中央存储库,就需要互联网连接。但是,访问这个中央存储库不需要任何配置。
这是 maven 社区提供的仓库。这个仓库包含了许多 java 项目常用/必需的库。基本上,如果开发人员想要使用这个中央仓库,就需要互联网连接。但是,访问这个中央仓库不需要任何配置。
```
<repositories>
......@@ -58,9 +58,9 @@
* * *
### 本地和远程/中央存储库的组织
### 本地和远程/中央库的组织
在下图中,您可以看到本地和远程/中央存储库的组织。
在下图中,您可以看到本地和远程/中央库的组织。
![Organization of Local and Remote/Central Repositories](img/5be079d7f15fa0613e34f42612cd89ee.png)
......@@ -70,8 +70,8 @@
基本上,当 maven 开始执行构建命令时,maven 开始搜索依赖项,如下所述:
* 它在本地存储库中扫描所有配置的依赖项。如果找到,则继续进一步执行。如果在本地存储库中找不到已配置的依赖项,它将扫描中央存储库。
* 如果在中央存储库中找到了指定的依赖项,那么这些依赖项将被下载到本地存储库中,以供将来参考和使用。如果没有找到,maven 就开始扫描远程存储库。
* 如果没有配置远程存储库,那么 maven 将抛出一个异常,说**找不到依赖关系** &停止处理。如果找到了,那么这些依赖项将被下载到本地存储库中,以供将来参考和使用。
* 它在本地仓库中扫描所有配置的依赖项。如果找到,则继续进一步执行。如果在本地仓库中找不到已配置的依赖项,它将扫描中央仓库。
* 如果在中央仓库中找到了指定的依赖项,那么这些依赖项将被下载到本地仓库中,以供将来参考和使用。如果没有找到,maven 就开始扫描远程仓库。
* 如果没有配置远程仓库,那么 maven 将抛出一个异常,说**找不到依赖关系** &停止处理。如果找到了,那么这些依赖项将被下载到本地仓库中,以供将来参考和使用。
* * *
\ No newline at end of file
......@@ -51,8 +51,8 @@ Maven 附带 3 个内置构建生命周期,如下所示:
| 集成测试 | 将应用程序部署到可以运行集成测试的环境中。 |
| 整合后测试 | 基本上,清理集成前测试阶段的环境。 |
| 核实 | 执行质量检查,并确保符合要求的标准 |
| 安装 | 在本地存储库中安装应用程序。任何其他项目都可以将此用作依赖项。 |
| 部署 | 最终的包将被复制到一个远程存储库中,可能作为一个正式的版本,也可以提供给其他开发人员。 |
| 安装 | 在本地库中安装应用程序。任何其他项目都可以将此用作依赖项。 |
| 部署 | 最终的包将被复制到一个远程库中,可能作为一个正式的版本,也可以提供给其他开发人员。 |
* * *
......
......@@ -27,7 +27,7 @@ mvn archetype:generate -DgroupId=com.java.samples -DartifactId=JavaSamples
* **groupId** 将是 com.java.samples,代表包。
* **artifactId** 将是 JavaSamples(在构建时,将创建 JavaSamples.jar)
* **原型 ArtifactId** 只不过是用来创建这个 Java 项目的模板。
* **交互模式**在开发人员知道工件 id 的实际拼写时使用。在上面的例子中,maven-prototype-quick start 是被使用的一个,也是合适的一个。如果开发人员不知道这一点,那么交互模式被设置为`TRUE`,这样它将扫描远程存储库中所有可用的原型。这可能需要更长时间。
* **交互模式**在开发人员知道工件 id 的实际拼写时使用。在上面的例子中,maven-prototype-quick start 是被使用的一个,也是合适的一个。如果开发人员不知道这一点,那么交互模式被设置为`TRUE`,这样它将扫描远程库中所有可用的原型。这可能需要更长时间。
![Creating first Maven Project](img/dc0e929d6ff042fdfa0bf002e7381d09.png)
......
......@@ -4,7 +4,7 @@
在上一个教程中,我们了解了如何构建和测试 maven 项目以及用于该项目的命令。在本章中,我们将学习在 maven 中管理项目的外部依赖关系。
如前所述,maven 中所有基本的依赖项列表都是由 maven 存储库处理的,项目在该存储库中下载所需的依赖项。但是,在某些情况下,某些特定的依赖关系可能在 maven 远程和中央存储库中不可用。Maven 仍然通过提供外部依赖管理的特性来解决这个问题。
如前所述,maven 中所有基本的依赖项列表都是由 maven 仓库处理的,项目在该仓库中下载所需的依赖项。但是,在某些情况下,某些特定的依赖关系可能在 maven 远程和中央仓库中不可用。Maven 仍然通过提供外部依赖管理的特性来解决这个问题。
外部依赖项可以是 sqljdbc.jar 或 log4j。在 maven 中,任何外部依赖项都可以像 pom.xml 文件中的其他依赖项一样轻松配置。因此,让我们看一个简单的例子,将 sqljdbc.jar 作为外部依赖项添加到 maven 项目中。
......
......@@ -84,17 +84,17 @@
* * *
## 使用詹金斯服务器构建自动化
## 使用Jenkins服务器构建自动化
[**Jenkins Server**](/jenkins/)(*点击查看完整 Jenkins 教程* i >)是一款持续集成工具。使用 Jenkins 构建可以自动化,测试构建的健康状态,还可以管理多个构建。这是一个方便的工具,很容易下载,也很容易设置。
### 设置詹金斯服务器
### 设置Jenkins服务器
* 从以下链接下载最新的 Jenkins . war:[http://jenkins-ci.org/T3】](http://jenkins-ci.org/)
![Installing Jenkins Server](img/da0019f40ca5980c2a7247f1c075287c.png)
* 在我们机器的本地网络服务器上部署詹金斯. war 文件。例如雄猫
* 在我们机器的本地网络服务器上部署Jenkins. war 文件。例如雄猫
* 启动服务器,打开浏览器,点击网址**http://localhost:8080/Jenkins**
![Setting up Jenkins Server and Automating Maven Build](img/30921872bbff60c6756bf32de9b4bf09.png)
......@@ -115,7 +115,7 @@
![Setting up Jenkins Server and Automating Maven Build](img/22bf6c4d069d654f157fdc2ee1f5fdba.png)
现在在詹金斯创建了一个项目/工作。如下图所示:
现在在Jenkins创建了一个项目/工作。如下图所示:
![Setting up Jenkins Server and Automating Maven Build](img/9d84611f462aa638fe7f798351092042.png)
......
......@@ -8,7 +8,7 @@
**快照**是一个特殊版本,表示正在进行的项目的当前开发副本。对于每个构建,maven 总是检查项目的快照。
因此,每当 maven 找到项目的较新快照时,它都会下载并替换本地存储库中项目的较旧`.jar`文件。
因此,每当 maven 找到项目的较新快照时,它都会下载并替换本地库中项目的较旧`.jar`文件。
快照版本总是会在项目上进行一些更新/更改。此外,快照应该只存在于开发阶段,不会有发布版本。这意味着项目的构建将随时改变,并且它仍在开发过程中。
......@@ -18,7 +18,7 @@
**SNAPSHOT** 的情况下,Maven 会在每次**corejavattorials**项目构建时自动获取最新的 SNAPSHOT(数据服务:1.0-SNAPSHOT)。
**版本**的情况下,maven 一旦下载了上面提到的版本,比如 javassimples:1.0,那么它就永远不会尝试下载存储库中可用的更新的 1.0。为了下载更新的代码,CoreJavaTutorials 版本将升级到 1.1。
**版本**的情况下,maven 一旦下载了上面提到的版本,比如 javassimples:1.0,那么它就永远不会尝试下载库中可用的更新的 1.0。为了下载更新的代码,CoreJavaTutorials 版本将升级到 1.1。
```
<project
......
......@@ -6,8 +6,8 @@
在实时项目中,典型的部署过程包括以下活动列表:
* 将代码签入存储库。
*存储库中下载源代码。
* 将代码签入库。
*库中下载源代码。
* 编译和构建应用程序,并从中生成 jar/war。
* 将生成的 war/jar 放在公共共享网络位置。
* 下载 jar/war 文件并部署到目标服务器
......@@ -106,6 +106,6 @@
* 执行对配置管理的最终提交。
* 标记代码。
* 增加版本号,并将快照添加为未来版本的一部分。
* **mvn 发布:执行** -从存储库中签出代码,并运行 maven 目标来构建工件并将其部署到存储库中。
* **mvn 发布:执行** -从仓库中签出代码,并运行 maven 目标来构建工件并将其部署到仓库中。
* * *
\ No newline at end of file
......@@ -7,7 +7,7 @@ Maven 还提供了一个优秀的插件,帮助将 eclipse 和 maven 集成在
* 从 eclipse 启动 maven 构建。
* 推出 maven 目标。
* 管理 eclipse 构建路径的依赖关系。
*存储库中自动下载 maven 依赖项。
*库中自动下载 maven 依赖项。
* 基于图形用户界面(基于向导)创建 maven 项目。
* 所需依赖项的快速修复。
......
......@@ -41,7 +41,7 @@
我们将使用的组件不包括在标准安装中。
通过单击绿色的克隆或下载按钮,从 Unity Technologies GitHub 上的以下下载链接克隆或下载存储库。之后,使用 Unity 打开导航网格组件项目,或者复制
通过单击绿色的克隆或下载按钮,从 Unity Technologies GitHub 上的以下下载链接克隆或下载库。之后,使用 Unity 打开导航网格组件项目,或者复制
现有项目的资源/导航组件文件夹。(下载前检查 unity 版本)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册