node_modulesなどはgitにcommit、pushする必要はない
node.jsの開発において、
npm install --save [library name]
でインストールしたバッケージは、package.json
のdependenciesにて依存関係が定義されている。
{
"name": "project-name",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"cheerio": "^1.0.0-rc.3",
"puppeteer": "^1.19.0",
"request": "^2.88.0",
"request-promise": "^4.2.4"
}
}
npm install
を実行すれば、package.json
の依存関係を参照して必要なライブラリがダウンロードされる。
したがって、ライブラリの実体が保存されているnode_modulesを含める必要がない。
プロジェクトの容量が無駄に大きくなってしまうので、.gitignore
ファイルでcommit対象から外して管理するのがいい。
.gitignoreファイルの作成
.gitignore
の作成は、通常のファイル作成と同様に
touch .gitignore
で作られる。
ファイルは、ワーキングディレクトリ直下(プロジェクトの最上位のディレクトリ)に作成する。
.git
ディレクトリに置くと読み込まれないので注意。
.gitignoreの記述方法
下記のように記述できる。
# ディレクトリを指定する場合
node_modules/
# ファイルのパターン一致でコンパイルなどで生成したファイルを指定する場合
*.com
*.class
*.dll
*.exe
*.o
*.so
ディレクトリの場合はディレクトリ/
で指定でき、
ファイルの場合は正規表現で指定できる。
設定後、実際にcommitしてみて確認
.gitignore
を設定後、commitすると
$ git add *
The following paths are ignored by one of your .gitignore files:
node_modules
のように除外されたパスが表示される。
意図通り除外されているか確認出来る。
参考書籍
GitHub実践入門
弊社での新卒エンジニア向け課題図書になった。
必要なコマンドを随時調べるのも良いけど、最初に一通り理解して置くとスムーズにいく。