Рабочий процесс Git для высокой производительности


Кредит: Скрыть

TL;DR Использование правильного рабочего процесса Git помогает повысить производительность и сократить время исправления ошибок, связанных с git, как для команд, так и для отдельных лиц.

О чем эта статья

  • Настройка простого приложения Nodejs
  • Правильный рабочий процесс Git

Предпосылки:

Начиная

Для простоты мы настроим простое приложение, которое отображает Hello World в браузере. Файлы проекта будут размещены на Github. Есть несколько способов установить репозиторий Github для нашего проекта.

  1. Создайте репозиторий на Github, не инициализируя его с помощью README или .gitignore, затем добавьте удаленный URL-адрес git в локальный проект.
  2. Создайте репозиторий на Github и инициализируйте его файлами README и .gitignore, затем клонируйте проект на свой локальный компьютер.

Мы будем использовать второй метод для настройки нашего проекта.

Настройка простого приложения Nodejs

Расположение папки проекта будет зависеть от используемой вами машины. Для пользователей Windows, использующих Wamp, используйте расположение C:\wamp64\www, для Xampp используйте местоположение C:\Program Files\XAMPP\htdocs. Пользователи Mac могут создать папку на рабочем столе или в другом удобном для вас месте.

Перейдите на Github и создайте новый репозиторий под названием simple-nodejs-app как показано на рисунке ниже.

Инициализируйте репозиторий с помощью README и нажмите Create repository. После создания репо следующая страница должна выглядеть так:

Нажмите на кнопку Clone or download чтобы получить ссылку для загрузки на локальный компьютер, откройте новое окно терминала и клонируйте репозиторий, используя приведенную ниже команду.

$ git клон [

This will create a new folder called simple-nodejs-app,navigate into the newly created folder using the command below:

$ cd simple-nodejs-app

For this project we will have a master branch which holds production code, staging branch for production ready code, and other branches to reflect what we are working on. Each feature, bug or chore added to the project will be in a separate branch and contain a single commit message. The reason for this is to make it easy for us to revert back to any branch knowing that the branch contains only a certain feature or bug. This could be really helpful in the situation that something goes wrong and we need to revert back to a certain feature in the project.

Setting Up Base Application

Create a chore branch to handle initial setup of the base application.

$ git checkout -b chore/setup-base-application

NB: The -b takes you to the new branch after creating it.

Go ahead to initialise the project using npm by running the command below:

$ npm init

This will bring up a series of questions which you could answer or press enter key to use the defaults. You can see the finished screen below.

Install the necessary dependencies for our project using the command below.

$ npm install express --save

We will make use of ES6 in our project, for this reason we will need to add an ES6 compiler, called Babel. Head over to the Babel site to find out more about this awesome compiler. Babel compiles ES6 code into the more browser compatible ES5 thereby allowing us make use of modern JavaScript code without being bothered about how the app will be handled by browsers that are yet to understand ES6 code.

Run the command below to setup Babel in the project.

$ npm install --save-dev babel-cli babel-preset-env

After the installation, open your favorite code editor and create a file in the root folder of the app called .babelrc and paste the code below:

{
  "presets": ["env"]
}

Создайте новый файл с именем index.js в корневую папку и вставьте следующий код

import express from 'express';

const app = express();

const port = process.env.port || 3000;

app.get('/', (req, res) => res.send('Hello World!'));

app.listen(port, () => console.log(`Example app listening on port ${port}`));

Создайте новый скрипт в package.json чтобы легко запустить приложение с помощью одной команды. Окончательный файл package.json показан ниже:

{

"name": "simple-nodejs-app",

"version": "1.0.0",

"description": "SImple git repo to illustrate git workflow",

"main": "index.js",

"scripts": {

"start": "babel-node -- index.js",

"test": "echo \"Error: no test specified\" && exit 1"

},

"repository": {

"type": "git",

"url": "git+

},

"keywords": [

"nodejs",

"node",

"express",

"git"

],

"author": "Fredrick Mgbeoma",

"license": "MIT",

"bugs": {

"url": "

},

"homepage": "

"devDependencies": {

"babel-cli": "^6.26.0",

"babel-preset-env": "^1.6.1"

},

"dependencies": {

"express": "^4.16.2"

}

}

Чтобы запустить приложение, просто введите следующую команду на своем терминале:

$ npm start

Посетите URL-адрес в любом браузере, который вы установили локально, и увидите отображаемый текст.


Привет, мир

Чтобы подготовиться к отправке на Github, создайте файл с именем .gitignore и добавьте имя папки node_modules/ .

Добавьте новые обновления и зафиксируйте их так.

$ git add .
$ git commit -m 'chore(setup-base-app): install necessary dependencies and setup base application'
$ git push origin chore/setup-base-application

Вышеупомянутый добавляет новые обновления, сделанные в проект, сообщение фиксации и, наконец, переносит все обновления с локального компьютера в онлайн-репозиторий.

Создайте новую ветку с именем staging, введя имя staging в текстовом поле find or create a branch... затем нажмите enter для создания ветки.

Следуя лучшим практикам, мы повышаем pull requestпиар, к staging ветку, нажав на Compare & pull request кнопка. Это показывает следующий экран ниже:


Запрос на вытягивание

Вы можете добавить рецензента в запрос на вытягивание, щелкнув значок шестеренки, кроме Reviewers в правой части страницы, затем укажите свой адрес электронной почты. Рецензент получает уведомление о просмотре вашего pull request и объединить его, если все сделано правильно.

А теперь можешь идти за кокаином. Это было легко, верно? 😄

Если вам понравилась эта статья, поставьте ей 👏 и поделитесь с друзьями.

Впервые опубликовано — Кодовый взрыв

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *