Merge pull request #47 from outis1one/clDemoe/seasonal-sunrise-montage-nn268
README: add git workflow section — install, pull, overwrite local cha…
This commit is contained in:
@@ -261,3 +261,100 @@ journalctl --user -u sky-cam-watchdog-east.service -f
|
|||||||
journalctl --user -u sky-cam-sunrise.service
|
journalctl --user -u sky-cam-sunrise.service
|
||||||
journalctl --user -u sky-cam-seasons-east.service
|
journalctl --user -u sky-cam-seasons-east.service
|
||||||
```
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Keeping sky-cam up to date
|
||||||
|
|
||||||
|
### Install git
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo apt install git
|
||||||
|
```
|
||||||
|
|
||||||
|
### First-time clone (if you don't have the repo yet)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git clone https://github.com/outis1one/sky-cam.git
|
||||||
|
cd sky-cam
|
||||||
|
```
|
||||||
|
|
||||||
|
### Pull the latest changes from main
|
||||||
|
|
||||||
|
After merging a pull request on GitHub, or whenever you want to update your running copy:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git pull origin main
|
||||||
|
```
|
||||||
|
|
||||||
|
Then re-run install if any schedules or scripts changed:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
./install.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
### Check what changed since your last pull
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git log --oneline origin/main ^HEAD # commits on remote not yet on your machine
|
||||||
|
git diff HEAD origin/main # full diff of incoming changes
|
||||||
|
git fetch origin && git status # fetch first, then show your local state
|
||||||
|
```
|
||||||
|
|
||||||
|
### You have local edits and want to pull anyway
|
||||||
|
|
||||||
|
**Option A — save your changes first (recommended):**
|
||||||
|
```bash
|
||||||
|
git stash # temporarily shelve your local edits
|
||||||
|
git pull origin main # pull updates
|
||||||
|
git stash pop # re-apply your edits on top
|
||||||
|
```
|
||||||
|
|
||||||
|
If `stash pop` reports a conflict, open the file and look for the `<<<<<<` markers — edit to resolve, then `git add <file>` and `git stash drop`.
|
||||||
|
|
||||||
|
**Option B — discard your local edits completely:**
|
||||||
|
```bash
|
||||||
|
git fetch origin
|
||||||
|
git reset --hard origin/main # WARNING: your local edits are gone permanently
|
||||||
|
```
|
||||||
|
|
||||||
|
Use this only when you are sure you do not need your local changes.
|
||||||
|
|
||||||
|
### Check what you have changed locally
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git status # which files are modified / untracked
|
||||||
|
git diff # show the actual changes (unstaged)
|
||||||
|
git diff --staged # show changes already staged with git add
|
||||||
|
```
|
||||||
|
|
||||||
|
### Look at the history
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git log --oneline # compact list of commits
|
||||||
|
git log --oneline -20 # last 20 only
|
||||||
|
git show <commit-hash> # full diff for one commit
|
||||||
|
```
|
||||||
|
|
||||||
|
### Switch to a specific branch (e.g. a development branch)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git fetch origin
|
||||||
|
git checkout claude/seasonal-sunrise-montage-nn268
|
||||||
|
```
|
||||||
|
|
||||||
|
To switch back to main:
|
||||||
|
```bash
|
||||||
|
git checkout main
|
||||||
|
git pull origin main
|
||||||
|
```
|
||||||
|
|
||||||
|
### Undo the last commit (before pushing)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git reset HEAD~1 # undo commit, keep the file changes
|
||||||
|
```
|
||||||
|
|
||||||
|
### Credentials and .env are never in git
|
||||||
|
|
||||||
|
`.env` is listed in `.gitignore` and will never be overwritten by a pull. `sky-cam.conf` **is** in git — if you edited it locally, a pull may conflict. Keep your machine-specific values in `.env` and leave `sky-cam.conf` for settings you want to track.
|
||||||
|
|||||||
Reference in New Issue
Block a user