xóa toàn bộ commit

 

Cách chuẩn & đơn giản nhất (Khuyến nghị)

Mục tiêu

  • Xóa toàn bộ commit history

  • Giữ nguyên code hiện tại

  • main chỉ còn 1 commit duy nhất: init


Bước 1: Tạo branch mới không có lịch sử

git checkout --orphan new-main

--orphan = tạo branch không có commit cha


Bước 2: Add toàn bộ code hiện tại

git add . git commit -m "init"

👉 Đây sẽ là commit duy nhất trong repo


Bước 3: Xóa branch main cũ & đổi tên

git branch -D main git branch -m main

Bước 4: Force push lên GitHub

git push origin main --force

Kết quả sau cùng

  • git logchỉ 1 commit

  • Không ai xem được commit cũ

  • .env / secret cũ trong history → biến mất hoàn toàn

⚠️ Ngoại lệ: nếu ai đó đã clone repo trước đó, họ vẫn giữ bản local

api feed with published=false?

 

Câu trả lời ngắn gọn là: .

Trên thực tế, đây chính là cách chuẩn nhất để tạo các bài viết chưa hiển thị công khai (bao gồm Bản nháp, Bài lên lịch, hoặc Bài ẩn chạy quảng cáo).

Tuy nhiên, nếu bạn chỉ để published=false, Facebook sẽ mặc định coi đó là một "Dark Post" (bài viết ẩn dùng cho quảng cáo) hoặc có thể báo lỗi nếu thiếu thông tin ngữ cảnh. Để tạo ra đúng Bản nháp (Draft), bạn bắt buộc phải kèm theo tham số unpublished_content_type.

Dưới đây là chi tiết cách sử dụng endpoint /feed với published=false cho từng trường hợp:


1. Tạo Bản Nháp (Draft)

Để bài viết xuất hiện trong mục "Drafts" của Meta Business Suite, bạn cần cấu hình như sau:

  • Endpoint: POST /{page-id}/feed

  • published: false

  • unpublished_content_type: DRAFT (Bắt buộc)

Ví dụ cURL:

Bash
curl -X POST "https://graph.facebook.com/v19.0/{page-id}/feed" \
     -H "Content-Type: application/json" \
     -d '{
           "message": "Đây là bài viết nháp tạo từ API",
           "published": false,
           "unpublished_content_type": "DRAFT",
           "access_token": "{page-access-token}"
         }'

2. Tạo Bài Lên Lịch (Scheduled Post)

Nếu bạn muốn bài viết tự động đăng vào một giờ cụ thể trong tương lai:

  • Endpoint: POST /{page-id}/feed

  • published: false

  • unpublished_content_type: SCHEDULED

  • scheduled_publish_time: {unix-timestamp} (Thời gian muốn đăng, tính bằng Unix timestamp, phải nằm trong khoảng từ 10 phút đến 6 tháng kể từ lúc gọi API).

Ví dụ tham số:

JSON
{
  "message": "Bài viết này sẽ tự đăng vào ngày mai",
  "published": false,
  "unpublished_content_type": "SCHEDULED",
  "scheduled_publish_time": 1711958400
}

3. Tạo Bài Ẩn Chạy Quảng Cáo (Ads Post / Dark Post)

Nếu bạn chỉ để published=falsekhông truyền unpublished_content_type, hoặc truyền là ADS_POST:

  • Facebook sẽ hiểu đây là bài viết chỉ dùng để chạy Ads.

  • Bài viết này không hiện trên dòng thời gian (Timeline).

  • Nó cũng không hiện trong mục Nháp (Drafts) của Business Suite một cách rõ ràng như loại DRAFT.


Tóm tắt sự khác biệt

Tham số publishedTham số unpublished_content_typeKết quả
true(Không quan trọng)Đăng ngay lập tức lên Fanpage.
falseDRAFTLưu vào mục Nháp.
falseSCHEDULEDLưu vào mục Lên lịch (cần thêm scheduled_publish_time).
falseADS_POST (hoặc để trống)Tạo Dark Post (bài ẩn) để chạy quảng cáo.

Bước tiếp theo đề xuất:

Bạn có muốn tôi cung cấp đoạn code mẫu (Node.js hoặc Python) để thực hiện việc tạo nháp này không?

xóa toàn bộ commit

  Cách chuẩn & đơn giản nhất (Khuyến nghị) Mục tiêu Xóa toàn bộ commit history Giữ nguyên code hiện tại main chỉ còn 1 commit...