Skip to content

ANGIBU/Git_advanced_automate-v3.0

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“ Git Advanced Auto Sync System v3.0

πŸ“Œ Purpose

Fully automated Git synchronization system that handles code backup, conflict resolution, and team collaboration with one-click setup.

πŸ“„ Files Included

  • git_advanced_automate.py

    • Main program with automatic module installation
    • Automatic merge/rebase handling and conflict resolution
    • Commit message format: Auto commit: YYYY-MM-DD HH:MM:SS (N files changed)
  • Git_Advanced_Automate.vbs

    • Background execution (can be registered in startup programs)
  • requirements.txt

    • List of required Python modules (auto-generated)
  • Git_Automation_System_Beginner_Guide.md

    • Detailed usage guide for beginners

βš™οΈ Key Features

  • Full Auto Initialization: Automatic folder creation, Git init, remote clone
  • Auto Module Installation: Automatic check and install of gitpython, schedule, pywin32
  • Bidirectional Sync: Auto pull remote changes + push local changes
  • Auto Conflict Resolution: Git Bash vim editor auto-launch on conflicts
  • 3-way Merge/Rebase Support: Automatic detection and handling
  • Customizable Commit Messages: Configurable prefix, format, file count display
  • Scheduling: Configurable auto-sync intervals (default 10 minutes)
  • Service Mode: Can be installed as Windows service
  • Logging: Detailed automatic operation logs

πŸš€ New Features (v3.0)

  • Auto-install missing modules and restart program
  • Retry with pip upgrade on installation failure
  • Automatic requirements.txt generation
  • Beginner-friendly error messages and solutions

βš™οΈ Configuration

Modify CONFIG section in git_advanced_automate.py:

REPO_PATH = r"C:\MyProject"  # Local repository path
REMOTE_URL = "https://github.com/username/repository.git"  # GitHub repository
BRANCH = "main"  # Branch name
SYNC_INTERVAL = 10  # Sync interval (minutes)
COMMIT_MESSAGE_TEMPLATE = "Auto commit: {timestamp}"  # Commit message format
CUSTOM_COMMIT_PREFIX = "[AUTO]"  # Commit message prefix

==========================================

λ„νŠΈ 컀비 5

πŸ“ Git κ³ κΈ‰ μžλ™ν™” μ‹œμŠ€ν…œ v3.0 (Git Advanced Auto Sync)

πŸ“Œ λͺ©μ 

μ™„μ „ μžλ™ν™”λœ Git 동기화 μ‹œμŠ€ν…œμœΌλ‘œ μ½”λ“œ λ°±μ—…, 좩돌 ν•΄κ²°, νŒ€ ν˜‘μ—…μ„ μ›ν΄λ¦­μœΌλ‘œ μ²˜λ¦¬ν•©λ‹ˆλ‹€.

πŸ“„ ꡬ성 파일

  • git_advanced_automate.py

    • 메인 ν”„λ‘œκ·Έλž¨ (ν•„μˆ˜ λͺ¨λ“ˆ μžλ™ μ„€μΉ˜ 포함)
    • μžλ™ merge/rebase 처리 및 좩돌 ν•΄κ²°
    • 컀밋 λ©”μ‹œμ§€ 포맷: μžλ™ 컀밋: YYYY-MM-DD HH:MM:SS (N개 파일 λ³€κ²½)
  • Git_Advanced_Automate.vbs

    • λ°±κ·ΈλΌμš΄λ“œ μ‹€ν–‰μš© (μ‹œμž‘ν”„λ‘œκ·Έλž¨ 등둝 κ°€λŠ₯)
  • requirements.txt

    • ν•„μš”ν•œ Python λͺ¨λ“ˆ λͺ©λ‘ (μžλ™ 생성)
  • Git_μžλ™ν™”_μ‹œμŠ€ν…œ_초보자_κ°€μ΄λ“œ.md

    • 초보자λ₯Ό μœ„ν•œ 상세 μ‚¬μš© κ°€μ΄λ“œ

βš™οΈ μ£Όμš” νŠΉμ§•

  • μ™„μ „ μžλ™ μ΄ˆκΈ°ν™”: 폴더 생성, Git init, 원격 clone μžλ™ 처리
  • ν•„μˆ˜ λͺ¨λ“ˆ μžλ™ μ„€μΉ˜: gitpython, schedule, pywin32 μžλ™ 확인 및 μ„€μΉ˜
  • μ–‘λ°©ν–₯ 동기화: 원격 변경사항 μžλ™ pull + 둜컬 변경사항 push
  • 좩돌 μžλ™ ν•΄κ²°: 좩돌 μ‹œ Git Bashμ—μ„œ vim 에디터 μžλ™ μ‹€ν–‰
  • 3-way merge/rebase 지원: 상황별 μžλ™ 감지 및 처리
  • 컀밋 λ©”μ‹œμ§€ μ»€μŠ€ν„°λ§ˆμ΄μ§•: 접두사, ν˜•μ‹, 파일 개수 ν‘œμ‹œ μ„€μ • κ°€λŠ₯
  • μŠ€μΌ€μ€„λ§: μ„€μ • κ°€λŠ₯ν•œ κ°„κ²©μœΌλ‘œ μžλ™ 동기화 (κΈ°λ³Έ 10λΆ„)
  • μ„œλΉ„μŠ€ λͺ¨λ“œ: Windows μ„œλΉ„μŠ€λ‘œ μ„€μΉ˜ κ°€λŠ₯
  • 둜그 기둝: μƒμ„Έν•œ μž‘μ—… 둜그 μžλ™ 생성

πŸš€ μƒˆλ‘œμš΄ κΈ°λŠ₯ (v3.0)

  • ν•„μš” λͺ¨λ“ˆ μ—†μœΌλ©΄ μžλ™ μ„€μΉ˜ ν›„ ν”„λ‘œκ·Έλž¨ μž¬μ‹œμž‘
  • μ„€μΉ˜ μ‹€νŒ¨ μ‹œ pip μ—…κ·Έλ ˆμ΄λ“œ ν›„ μž¬μ‹œλ„
  • requirements.txt 파일 μžλ™ 생성
  • 초보자 μΉœν™”μ  였λ₯˜ λ©”μ‹œμ§€ 및 ν•΄κ²° 방법 μ•ˆλ‚΄

βš™οΈ μ„€μ • 방법

git_advanced_automate.py 파일의 CONFIG μ„Ήμ…˜ μˆ˜μ •:

REPO_PATH = r"C:\MyProject"  # 둜컬 μ €μž₯μ†Œ 경둜
REMOTE_URL = "https://github.com/username/repository.git"  # GitHub μ €μž₯μ†Œ
BRANCH = "main"  # 브랜치λͺ…
SYNC_INTERVAL = 10  # 동기화 간격 (λΆ„)
COMMIT_MESSAGE_TEMPLATE = "μžλ™ 컀밋: {timestamp}"  # 컀밋 λ©”μ‹œμ§€ ν˜•μ‹
CUSTOM_COMMIT_PREFIX = "[AUTO]"  # 컀밋 λ©”μ‹œμ§€ μ•žλΆ€λΆ„

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published