119 lines
2.7 KiB
Markdown
119 lines
2.7 KiB
Markdown
# Git Setup Guide
|
|
|
|
## Pushing Your Project to Git
|
|
|
|
### Initial Setup
|
|
|
|
1. **Initialize Git** (if not already done):
|
|
|
|
```bash
|
|
git init
|
|
```
|
|
|
|
2. **Add a Remote** (replace with your repository URL):
|
|
|
|
```bash
|
|
git remote add origin https://github.com/yourusername/yourrepo.git
|
|
```
|
|
|
|
3. **Create Initial Commit**:
|
|
|
|
```bash
|
|
git add .
|
|
git commit -m "Initial commit: Virtual Business Card"
|
|
```
|
|
|
|
4. **Push to Remote**:
|
|
```bash
|
|
git push -u origin main
|
|
```
|
|
|
|
## Local Configuration Safety
|
|
|
|
✅ **What Gets Pushed to Git:**
|
|
|
|
- Default business card config: `src/config/businessCard.config.ts`
|
|
- All source code and components
|
|
- Configuration and build files
|
|
- Documentation
|
|
|
|
❌ **What Stays Local (Never Pushed):**
|
|
|
|
- Your personal business card config: `src/config/businessCard.config.local.ts`
|
|
- Node modules: `node_modules/`
|
|
- Build output: `dist/`
|
|
- Other files matching `*.local` pattern
|
|
|
|
### How `.gitignore` Protects Your Data
|
|
|
|
The `.gitignore` file already includes:
|
|
|
|
```
|
|
*.local
|
|
```
|
|
|
|
This means any file ending with `.local` is automatically excluded from git. Your personal business card configuration in `businessCard.config.local.ts` will never be tracked or pushed.
|
|
|
|
## Workflow for Sharing the Project
|
|
|
|
### For You (Developer)
|
|
|
|
1. Create `src/config/businessCard.config.local.ts` with your personal info
|
|
2. Make changes to your local config as needed
|
|
3. Push code changes to git (your personal config stays local)
|
|
|
|
### For Others Using Your Repository
|
|
|
|
1. Clone the repository
|
|
2. Copy `src/config/businessCard.config.local.example.ts` to `src/config/businessCard.config.local.ts`
|
|
3. Edit the local config with their own information
|
|
4. Run `npm install --legacy-peer-deps && npm run dev`
|
|
5. Their changes to `businessCard.config.local.ts` stay local
|
|
|
|
## Checking Git Status
|
|
|
|
To verify your personal config is being ignored:
|
|
|
|
```bash
|
|
git status
|
|
```
|
|
|
|
You should NOT see `src/config/businessCard.config.local.ts` in the output. If you do, your `.gitignore` may need adjustment.
|
|
|
|
To also check git tracking:
|
|
|
|
```bash
|
|
git check-ignore src/config/businessCard.config.local.ts
|
|
```
|
|
|
|
This should print the file path if it's properly ignored.
|
|
|
|
## Example Git Commands
|
|
|
|
```bash
|
|
# Check what will be committed
|
|
git status
|
|
|
|
# Add all non-ignored files
|
|
git add .
|
|
|
|
# Commit changes
|
|
git commit -m "Update business card styles"
|
|
|
|
# Push to remote
|
|
git push
|
|
|
|
# View git history
|
|
git log
|
|
|
|
# See what files are being tracked
|
|
git ls-files
|
|
```
|
|
|
|
## Important Notes
|
|
|
|
- Always ensure `businessCard.config.local.ts` is in `.gitignore` before pushing
|
|
- Never commit personal business card data
|
|
- The example file `businessCard.config.local.example.ts` CAN be committed to help others
|
|
- Each user/clone should have their own local config file
|