Skip to content

Commit 200201b

Browse files
m4dm4rtig4nClément VALENTINclaude
authored
feat(commands): add /sync command for worktree synchronization (#56)
Adds a new /sync slash command that synchronizes the current Conductor worktree with the main project by fetching and rebasing on origin/main. Includes conflict handling instructions. 🤖 Generated with Claude Code Co-authored-by: Clément VALENTIN <clement.valentin@blacktiger.tech> Co-authored-by: Claude <noreply@anthropic.com>
1 parent d0e91ec commit 200201b

File tree

1 file changed

+53
-0
lines changed

1 file changed

+53
-0
lines changed

.claude/commands/sync.md

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
---
2+
description: Synchronise le worktree avec le projet root
3+
allowed-tools: Bash(git:*), Bash(rsync:*), Bash(ls:*), Bash(pwd:*)
4+
---
5+
6+
# Objectif
7+
8+
Synchroniser le worktree Conductor en cours avec le projet root (`/Users/cvalentin/Git/myelectricaldata_new`) pour récupérer les dernières modifications.
9+
10+
## Workflow de synchronisation
11+
12+
### 1. Vérifier l'état du worktree actuel
13+
14+
```bash
15+
git status
16+
```
17+
18+
S'il y a des modifications locales non commitées, avertir l'utilisateur et demander s'il veut continuer (les modifications locales pourraient être écrasées).
19+
20+
### 2. Récupérer les derniers changements depuis main
21+
22+
```bash
23+
# Fetch depuis origin
24+
git fetch origin main
25+
26+
# Rebase sur origin/main pour récupérer les dernières modifications
27+
git rebase origin/main
28+
```
29+
30+
### 3. En cas de conflit
31+
32+
Si le rebase échoue à cause de conflits :
33+
1. Lister les fichiers en conflit avec `git status`
34+
2. Informer l'utilisateur des conflits
35+
3. Proposer soit de résoudre les conflits, soit d'abandonner avec `git rebase --abort`
36+
37+
### 4. Vérification finale
38+
39+
Après la synchronisation :
40+
```bash
41+
# Afficher les derniers commits pour confirmer la sync
42+
git log --oneline -5
43+
44+
# Afficher l'état actuel
45+
git status
46+
```
47+
48+
## Notes importantes
49+
50+
- Cette commande utilise `git rebase` pour garder un historique linéaire
51+
- Les modifications locales non commitées peuvent être écrasées
52+
- En cas d'erreur, utiliser `git rebase --abort` pour revenir à l'état précédent
53+
- Le worktree reste sur sa branche actuelle, seuls les commits de main sont intégrés

0 commit comments

Comments
 (0)