-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathsync.sh
More file actions
44 lines (37 loc) · 916 Bytes
/
Copy pathsync.sh
File metadata and controls
44 lines (37 loc) · 916 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#!/bin/bash
set -e
# Fungsi untuk sync folder ke repo remote
sync_folder() {
FOLDER=$1
REMOTE=$2
BRANCH=$3
echo "🔄 Syncing $FOLDER -> $REMOTE ($BRANCH)"
# Buat branch split khusus
git subtree split --prefix=$FOLDER --rejoin -b ${FOLDER}-branch
# Push ke remote
git push -f $REMOTE ${FOLDER}-branch:$BRANCH
# Hapus branch sementara biar ga numpuk
git branch -D ${FOLDER}-branch
echo "✅ Done syncing $FOLDER"
}
# Pilihan
case "$1" in
client)
sync_folder "client" "client-remote" "main"
;;
server1)
sync_folder "Server1" "server1-remote" "main"
;;
server2)
sync_folder "Server2" "server2-remote" "main"
;;
all)
sync_folder "client" "client-remote" "main"
sync_folder "Server1" "server1-remote" "main"
sync_folder "Server2" "server2-remote" "main"
;;
*)
echo "Usage: ./sync.sh [client|server1|server2|all]"
exit 1
;;
esac