Git: создать новый репозиторий

При запуске нового проекта первое, что вам нужно сделать, это создать новый репозиторий Git. Это не только помогает вам поделиться проектом с коллегами или публично, но также является отличным способом отслеживать обновления молодого проекта, который неизбежно претерпит значительные изменения в своей ранней жизни. Имея полную историю этих изменений и полезные функции, такие как ветки [/ git-create-a-new-branch /], вы можете легче тестировать различные проекты / реализации для проекта.

При запуске нового проекта первое, что вам нужно сделать, это создать новый репозиторий Git. Это не только помогает вам поделиться проектом с коллегами или публично, но также является отличным способом отслеживать обновления молодого проекта, который неизбежно претерпит значительные изменения в своей ранней жизни. Имея полную историю этих изменений и полезные функции, такие как ветки , вы можете легче тестировать различные проекты / реализации для проекта, не теряя предыдущей работы.

Как и все в Git, есть несколько способов делать то, что мы хотим, в зависимости от того, что вам нужно. В этой статье мы покажем несколько способов создания нового репозитория.

Создание репозитория с нуля

Чтобы запустить это новое репо, вы захотите использовать команду init . Для этого перейдите в каталог вашего проекта и введите следующее:

 $ git init 
 Initialized empty Git repository in /Users/scott/projects/my-new-project/.git/ 

Это можно сделать в любое время в вашем проекте, независимо от того, есть ли там файлы или нет. После того, как вы добавили несколько файлов и почувствуете, что находитесь в точке, в которой вы должны зафиксировать свой код, вы можете использовать команду add чтобы добавить свои файлы в новое репо:

 $ git add . 

Это поместит файлы в ваш текущий рабочий каталог для следующего коммита. После размещения наших файлов мы можем убедиться, что они готовы к фиксации, используя команду status :

 $ git status 
 On branch master 
 
 Initial commit 
 
 Changes to be committed: 
 (use "git rm --cached <file>..." to unstage) 
 
 new file: index.js 
 new file: package.json 

Наконец, вы можете зафиксировать файлы в новом репо, используя commit :

 $ git commit -am "Initial commit" 
 [master (root-commit) 37a82f5] Initial commit 
 2 files changed, 0 insertions(+), 0 deletions(-) 
 create mode 100644 index.js 
 create mode 100644 package.json 

Здесь мы также используем флаги -a и -m , которые делают следующее:

  • -a : зафиксировать все поставленные файлы
  • -m : использовать следующую строку в качестве сообщения фиксации

Проверять

Создание репозитория для существующего проекта

Создание репозитория для существующего проекта - это практически тот же процесс, что и создание репозитория для нового проекта. Как и в предыдущем разделе, вы захотите выполнить те же общие команды:

 $ git init 
 Initialized empty Git repository in /Users/scott/projects/my-new-project/.git/ 
 $ git add . 
 $ git commit -am "Initial commit" 
 [master (root-commit) 37a82f5] Initial commit 
 2 files changed, 0 insertions(+), 0 deletions(-) 
 create mode 100644 index.js 
 create mode 100644 package.json 

Обратите внимание, что git add . команда добавит все файлы в текущий рабочий каталог, в том числе в подкаталоги. Однако он также добавит некоторые файлы или каталоги, которые могут вам не понадобиться, например node_modules для проекта Node.js. Чтобы избежать включения таких нежелательных файлов / каталогов, вы должны создать и зафиксировать файл .gitignore

Немного сделав резервную копию, наши команды для создания репозитория для существующего проекта могут выглядеть примерно так:

 $ git init 
 Initialized empty Git repository in /Users/scott/projects/my-new-project/.git/ 
 $ echo "node_modules/" > .gitignore 
 $ echo "package-lock.json" >> .gitignore 
 $ git add . 

Теперь, когда в вашем проекте присутствуют эти «игнорируемые» элементы, вам не нужно беспокоиться о том, что они случайно поставлены и зафиксированы. Например:

 $ npm install 
 $ ls -l 
 total 40 
 -rw-r--r-- 1 scott staff 0 Sep 16 15:15 index.js 
 drwxr-xr-x 4 scott staff 136 Sep 16 15:27 lib 
 drwxr-xr-x 52 scott staff 1768 Sep 16 15:32 node_modules 
 -rw-r--r-- 1 scott staff 14233 Sep 16 15:32 package-lock.json 
 -rw-r--r-- 1 scott staff 362 Sep 16 15:32 package.json 
 $ git add . 
 $ git status 
 On branch master 
 
 Initial commit 
 
 Changes to be committed: 
 (use "git rm --cached <file>..." to unstage) 
 
 new file: .gitignore 
 new file: index.js 
 new file: lib/api.js 
 new file: lib/db.js 
 new file: package.json 
 
 $ git commit -am "Initial commit" 
 [master (root-commit) 9646a88] Initial commit 
 5 files changed, 19 insertions(+) 
 create mode 100644 .gitignore 
 create mode 100644 index.js 
 create mode 100644 lib/api.js 
 create mode 100644 lib/db.js 
 create mode 100644 package.json 

Обратите внимание, что наш игнорируемый файл (package-lock.json) и каталог (node_modules) не включаются в постановку даже после выполнения git add . , или фиксация.

Примечание . Использование .gitignore не только рекомендуется при создании репозитория для существующего проекта, но мы и ссылаемся на него здесь, потому что он, скорее всего, понадобится вам для существующего проекта, поскольку более зрелые проекты, как правило, накапливают файлы, которых не должно быть. отслеживаются или совместно используются пользователями.

Клонирование существующего проекта

Хотя вы технически не создаете новое репо, в этом случае вы можете клонировать существующее, избавляя вас от необходимости самостоятельно git init . Это очень часто, когда вам нужно внести изменения в существующий проект или, может быть, если вы хотите клонировать скелетный проект, чтобы помочь вам начать работу.

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

 $ git clone <repo-url> 

Это скопирует все содержимое репозитория в ваш текущий рабочий каталог под именем репозитория. Например:

 $ git clone [email protected] :scottwrobinson/twentyjs.git 
 Cloning into 'twentyjs'... 
 remote: Enumerating objects: 48, done. 
 remote: Total 48 (delta 0), reused 0 (delta 0), pack-reused 48 
 Receiving objects: 100% (48/48), 9.35 KiB | 0 bytes/s, done. 
 Resolving deltas: 100% (22/22), done. 
 $ ls -l 
 total 0 
 drwxr-xr-x 9 scott staff 306 Sep 16 15:55 twentyjs 

Есть ряд других вариантов и вариантов использования этой команды, но они не входят в объем данной статьи, поэтому мы не будем их здесь рассматривать. Для получения дополнительной информации ознакомьтесь со статьей Git: Clone a Repository .

Licensed under CC BY-NC-SA 4.0
comments powered by Disqus