Alias này sẽ:

  1. Lấy stash mới nhất (stash@{0}) và apply thay vì pop.
  2. Nếu apply thành công, hỏi bạn có muốn xóa stash không.
  3. Nếu conflict, báo rõ và hướng dẫn sửa.

Cách thêm alias

Chạy lệnh:

git config --global alias.stashsafe '!f() { \
  if [ -z "$(git stash list)" ]; then \
    echo "⚠ Không có stash nào."; \
    exit 1; \
  fi; \
  echo "📦 Đang áp dụng stash@{0}..."; \
  git stash apply stash@{0}; \
  if [ $? -eq 0 ]; then \
    read -p "✅ Áp dụng thành công. Xóa stash@{0}? (y/N): " ans; \
    if [ "$ans" = "y" ] || [ "$ans" = "Y" ]; then \
      git stash drop stash@{0}; \
      echo "🗑 Stash đã bị xóa."; \
    else \
      echo "💾 Stash vẫn được giữ lại."; \
    fi; \
  else \
    echo "❌ Có conflict. Sửa file rồi chạy: git add <file> && git commit"; \
  fi; \
}; f'

Cách dùng

git stashsafe
  • Nếu không có stash → báo lỗi.
  • Nếu áp dụng thành công → hỏi bạn có muốn xóa stash không.
  • Nếu conflict → báo và hướng dẫn sửa.