đĄī¸ .gitignore āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻžāϰ āϏā§āϰāĻž āĻĒāĻĻā§āϧāϤāĻŋ â
đ .gitignore āĻā§? â
.gitignore āĻāĻāĻāĻŋ āĻŦāĻŋāĻļā§āώ āĻĢāĻžāĻāϞ āϝāĻž Git-āĻā§ āĻŦāϞ⧠āĻĻā§ā§ āĻā§āύ āĻā§āύ āĻĢāĻžāĻāϞ āĻŦāĻž āĻĢā§āϞā§āĻĄāĻžāϰ version control-āĻāϰ āĻŦāĻžāĻāϰ⧠āϰāĻžāĻāĻž āĻšāĻŦā§āĨ¤ āĻāĻ āĻĢāĻžāĻāϞāĻāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻāĻĒāύāĻŋ build files, sensitive credentials, system-specific āĻĢāĻžāĻāϞ āĻāϤā§āϝāĻžāĻĻāĻŋ Git āĻ āύāĻž āϤā§āϞāĻžāϰ āĻŦā§āϝāĻŦāϏā§āĻĨāĻž āĻāϰāϤ⧠āĻĒāĻžāϰā§āύāĨ¤
đ āĻā§āĻĨāĻžā§ .gitignore āϰāĻžāĻāĻž āĻšā§? â
- āϏāĻžāϧāĻžāϰāĻŖāϤ,
.gitignoreāϰāĻžāĻāĻž āĻšā§ āĻĒā§āϰāĻā§āĻā§āĻ āϰā§āĻ āĻĄāĻŋāϰā§āĻā§āĻāϰāĻŋāϤā§āĨ¤ - āĻāĻĒāύāĻŋ āĻāĻžāĻāϞ⧠āϏāĻžāĻŦ-āĻĄāĻŋāϰā§āĻā§āĻāϰāĻŋāϤā§āĻ
.gitignoreāϰāĻžāĻāϤ⧠āĻĒāĻžāϰā§āύāĨ¤ - āĻāϰ āĻāĻžāĻāϞ⧠āĻā§āϞā§āĻŦāĻžāϞ āϞā§āĻā§āϞā§āĻ
.gitignoreāϏā§āĻ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ (āϏāĻŦāĻžāϰ āύāĻŋāĻā§ āĻŦā§āϝāĻžāĻā§āϝāĻž āĻāϰāĻž āĻšā§ā§āĻā§)āĨ¤
đ§ āĻā§āύ .gitignore āĻā§āϰā§āϤā§āĻŦāĻĒā§āϰā§āĻŖ? â
- āĻā§āϞāĻŋāύ āϰāĻŋāĻĒā§āĻāĻŋāĻāϰāĻŋ āϰāĻžāĻā§ â āĻ
āĻĒā§āϰā§ā§āĻāύā§ā§
.log,.DS_Store,node_modules,vendorāĻāϏāĻŦ āĻĢāĻžāĻāϞ āĻāĻĒāύāĻžāϰ āĻā§āĻĄāĻŦā§āĻāĻā§ āĻāϏāĻŦā§ āύāĻžāĨ¤ - security āĻŦāĻāĻžā§ āϰāĻžāĻā§ â
.env, API key, credentials āĻāϤā§āϝāĻžāĻĻāĻŋ Git āĻ āĻāĻ āĻŦā§ āύāĻžāĨ¤ - āĻ āύā§āϝāĻĻā§āϰ āĻāύā§āϝ āĻāĻžāĻŽā§āϞāĻž āĻāĻŽāĻžā§ â IDE-specific āĻŦāĻž OS-specific āĻĢāĻžāĻāϞ āĻ āύā§āϝ āĻĄā§āĻā§āϞāĻĒāĻžāϰāĻĻā§āϰ āϏāĻŽāϏā§āϝāĻžā§ āĻĢā§āϞāĻŦā§ āύāĻžāĨ¤
â
āϏāĻŦāĻā§ā§ā§ āϏāĻžāϧāĻžāϰāĻŖ .gitignore āĻāĻĻāĻžāĻšāϰāĻŖ (Laravel Project) â
/node_modules
/public/hot
/public/storage
/storage/*.key
/vendor
.env
.phpunit.result.cache
Homestead.json
Homestead.yaml
/.vagrant
/.idea
.DS_Store/node_modules
/public/hot
/public/storage
/storage/*.key
/vendor
.env
.phpunit.result.cache
Homestead.json
Homestead.yaml
/.vagrant
/.idea
.DS_StoređĄ āĻŦā§āϏā§āĻ āĻĒā§āϰā§āϝāĻžāĻāĻāĻŋāϏāϏāĻŽā§āĻš â
1. Sensitive āĻĢāĻžāĻāϞ Git-āĻ āύāĻž āϤā§āϞāĻž â
āĻā§āϞ:
.env.envāĻāĻŋāĻā§ .env āĻāĻāĻŦāĻžāϰ āĻāĻ āĻŋā§ā§ āĻĢā§āϞāϞ⧠.gitignore āĻĒāϰ⧠āĻāĻžāĻ āĻāϰāĻŦā§ āύāĻžāĨ¤
āĻ āĻŋāĻ āĻāĻžāĻ:.env āϤā§āϰāĻŋ āĻāϰāĻžāϰ āĻāĻā§āĻ .gitignore āĻ āϝā§āĻā§āϤ āĻāϰā§āύāĨ¤
2. node_modules/ āĻāĻāύ⧠āĻāĻŋāĻā§ āϤā§āϞāĻŦā§āύ āύāĻž â
node_modules/node_modules/āĻāĻ āĻĢā§āϞā§āĻĄāĻžāϰ āĻā§āĻŦ āĻŦā§ āĻšā§, āĻāĻŦāĻ āĻāϤ⧠āĻŦāĻžāĻāϰā§āϰ āĻĒā§āϝāĻžāĻā§āĻ āĻĨāĻžāĻā§ â āĻĒā§āύāϰāĻžā§ install āĻāϰāϞā§āĻ āĻāϞāĻŦā§āĨ¤
3. āĻŦāĻŋāϞā§āĻĄ āĻāĻāĻāĻĒā§āĻ, IDE, OS āĻĢāĻžāĻāϞ āĻŦāĻžāĻĻ āĻĻāĻŋāύ â
đ§ Common IDE files: â
.idea/
.vscode/.idea/
.vscode/đĨī¸ OS-specific files: â
.DS_Store # macOS
Thumbs.db # Windows.DS_Store # macOS
Thumbs.db # Windows4. āĻāĻŽā§āĻĒāĻžāĻāϞā§āĻĄ āĻĢāĻžāĻāϞ āĻŦāĻžāĻĻ āĻĻāĻŋāύ â
*.class
*.pyc
*.o
*.out*.class
*.pyc
*.o
*.out5. āϞāĻ āĻĢāĻžāĻāϞ āĻŦāĻžāĻĻ āĻĻāĻŋāύ â
*.log
logs/*.log
logs/6. Custom āĻā§āϝāĻžāĻļ āĻŦāĻž āĻŦā§āϝāĻžāĻāĻāĻĒ āĻĢāĻžāĻāϞ â
*.swp
*.bak
*.tmp*.swp
*.bak
*.tmpđī¸ āĻĢā§āϞā§āĻĄāĻžāϰ āĻāĻāύā§āϰ āĻāϰāĻžāϰ āύāĻŋā§āĻŽ â
āĻļā§āϧ⧠āĻĢā§āϞā§āĻĄāĻžāϰ: â
/storage/logs//storage/logs/āĻĢā§āϞā§āĻĄāĻžāϰ āϏāĻš āĻāĻŋāϤāϰā§āϰ āϏāĻŦ: â
/storage/*/storage/*đ§Ē āĻāĻŋāĻā§ āĻāύā§āύāϤ .gitignore āύāĻŋā§āĻŽ â
â āĻļā§āϧ⧠āĻāĻāĻāĻŋ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻāĻžāĻāĻĒ āĻŦāĻžāĻĻ āĻĻāĻŋāύ â
*.log*.logâ āĻāĻāĻāĻŋ āĻĢāĻžāĻāϞ āĻŦāĻžāĻĻ āĻĻāĻŋāύ, āĻāĻŋāύā§āϤ⧠āĻāϰ āĻŽāϧā§āϝ⧠āĻāĻāĻāĻŋ āĻāĻŦāĻžāϰ āĻ āύā§āĻŽā§āĻĻāύ āĻāϰā§āύ: â
/storage/*
!/storage/README.md/storage/*
!/storage/README.mdāĻāĻĒāϰā§āϰ āĻā§āĻĄāĻāĻŋ
/storage/āĻāϰ āϏāĻŦ āĻŦāĻžāĻĻ āĻĻāĻŋāĻŦā§, āĻāĻŋāύā§āϤā§README.mdāϰāĻžāĻāĻŦā§āĨ¤
đ āĻā§āϞā§āĻŦāĻžāϞ .gitignore āϤā§āϰāĻŋ â
git config --global core.excludesfile ~/.gitignore_globalgit config --global core.excludesfile ~/.gitignore_globalāϤāĻžāϰāĻĒāϰ āϏā§āĻ āĻĢāĻžāĻāϞ⧠āϞāĻŋāĻā§āύ:
.DS_Store
Thumbs.db
*.log.DS_Store
Thumbs.db
*.logđ GitHub āĻĨā§āĻā§ āϤā§āϰāĻŋ .gitignore āĻā§āĻŽāĻĒā§āϞā§āĻ â
GitHub āύāĻŋāĻā§āĻ āĻ
āύā§āĻ āϏā§āύā§āĻĻāϰ .gitignore āĻā§āĻŽāĻĒā§āϞā§āĻ āĻĻā§ā§:
āĻāĻĻāĻžāĻšāϰāĻŖ:
curl https://raw.githubusercontent.com/github/gitignore/main/Node.gitignore -o .gitignorecurl https://raw.githubusercontent.com/github/gitignore/main/Node.gitignore -o .gitignoređĢ .gitignore āĻāĻžāĻ āύāĻž āĻāϰāϞ⧠āĻāϰāĻŖā§ā§ â
āĻšā§āϤ⧠āĻāĻĒāύāĻŋ āĻāĻā§āĻ āϏā§āĻ āĻĢāĻžāĻāϞ Git-āĻ Add āĻāϰ⧠āĻĢā§āϞā§āĻā§āύāĨ¤ āϏāĻŽāĻžāϧāĻžāύ:
bashgit rm --cached path/to/filegit rm --cached path/to/fileāϤāĻžāϰāĻĒāϰ
.gitignoreāĻ āϝā§āĻā§āϤ āĻāϰā§āύāĨ¤
đ§Š Language/Framework Specific āĻāĻĻāĻžāĻšāϰāĻŖ â
đ Laravel â
/vendor
/node_modules
.env
.phpunit.result.cache
/storage/*.key/vendor
/node_modules
.env
.phpunit.result.cache
/storage/*.keyđĸ Node.js â
node_modules/
npm-debug.log
.env
dist/node_modules/
npm-debug.log
.env
dist/đ Python â
__pycache__/
*.pyc
.env__pycache__/
*.pyc
.envđ PHP â
vendor/
*.log
.envvendor/
*.log
.envđ§ āϏāĻāĻā§āώā§āĻĒā§ āĻŽāύ⧠āϰāĻžāĻāĻžāϰ āĻāĻŋāĻĒāϏ â
| āĻāϰāĻŖā§ā§ | āĻŦāϰā§āĻāύā§ā§ |
|---|---|
.env āύāĻž āϤā§āϞā§āύ | credentials āĻāĻāύ⧠Git-āĻ āύāĻž āϤā§āϞā§āύ |
node_modules āĻŦāĻžāĻĻ āĻĻāĻŋāύ | build output Git-āĻ āĻĻā§āĻŦā§āύ āύāĻž |
| IDE/OS-specific āĻĢāĻžāĻāϞ ignore āĻāϰā§āύ | local āϏā§āĻāĻŋāĻ Git-āĻ āĻĻā§āĻŦā§āύ āύāĻž |
đĻ āĻāĻĒāϏāĻāĻšāĻžāϰ â
.gitignore āĻā§āĻ āĻāĻāĻāĻŋ āĻĢāĻžāĻāϞ āĻšāϞā§āĻ āĻāĻāĻŋ Git āĻĒā§āϰāĻā§āĻā§āĻā§āϰ āύāĻŋāϰāĻžāĻĒāϤā§āϤāĻž, āĻĻāĻā§āώāϤāĻž āĻ āĻŽāĻžāύ āĻŦāĻāĻžā§ āϰāĻžāĻāĻžāϰ āĻāύā§āϝ āĻ
āĻĒāϰāĻŋāĻšāĻžāϰā§āϝāĨ¤ āϏāĻ āĻŋāĻ .gitignore āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϞ⧠āĻāĻĒāύāĻžāϰ āĻĒā§āϰāĻā§āĻā§āĻ āĻĨāĻžāĻāĻŦā§ āĻĒāϰāĻŋāĻĒāĻžāĻāĻŋ āĻāĻŦāĻ āύāĻŋāϰāĻžāĻĒāĻĻāĨ¤