git-push-time 1.0.2 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +30 -7
- package/bin/index.js +751 -250
- package/lib/git.js +222 -13
- package/lib/ui.js +564 -245
- package/package.json +4 -4
- package/lib/npm.js +0 -82
package/README.md
CHANGED
|
@@ -13,6 +13,8 @@ Một công cụ Dòng lệnh (CLI) mạnh mẽ và tiện lợi giúp bạn **
|
|
|
13
13
|
- Cập nhật cả `GIT_AUTHOR_DATE` và `GIT_COMMITTER_DATE` chuẩn mực.
|
|
14
14
|
- 💬 **Chế độ Tương tác (Interactive Prompt)**: Giao diện trực quan đẹp mắt với câu hỏi từng bước.
|
|
15
15
|
- ⚡ **Chế độ Lệnh nhanh (Command-line flags)**: Truyền tham số để đẩy code không cần bấm enter chọn lựa.
|
|
16
|
+
- ⬇️ **Pull code**: Lấy cập nhật từ remote bằng fast-forward.
|
|
17
|
+
- 🕒 **Sửa thời gian commit**: Chọn commit trong lịch sử hiện tại và thay đổi Author Date cùng Committer Date.
|
|
16
18
|
|
|
17
19
|
---
|
|
18
20
|
|
|
@@ -38,15 +40,18 @@ Chỉ cần mở Terminal tại thư mục dự án của bạn và gõ:
|
|
|
38
40
|
```bash
|
|
39
41
|
git-push-time
|
|
40
42
|
```
|
|
41
|
-
Công cụ sẽ hiển thị từng câu hỏi giao diện
|
|
42
|
-
1.
|
|
43
|
-
2. **
|
|
44
|
-
3. **
|
|
43
|
+
Công cụ sẽ hiển thị từng câu hỏi giao diện:
|
|
44
|
+
1. **📁 Chọn folder nguồn**: liệt kê các thư mục con để bạn chọn đúng folder cần up (tránh up nhầm cả folder gốc ngoài cùng). Tool chỉ push nội dung trong folder đã chọn.
|
|
45
|
+
2. **Dán Link Repo**: `https://github.com/username/repository.git`
|
|
46
|
+
3. **Commit Message**: `Initial commit`
|
|
47
|
+
4. **Chọn thời gian**:
|
|
45
48
|
- ⏰ *Ngay bây giờ*
|
|
46
49
|
- ⏳ *Lùi thời gian* (VD: `-2d` là 2 ngày trước)
|
|
47
50
|
- 📅 *Nhập ngày giờ cụ thể* (VD: `2024-05-20 09:15:00`)
|
|
48
|
-
|
|
49
|
-
|
|
51
|
+
5. **Tên Branch**: `main`
|
|
52
|
+
6. **Xác nhận**: Có / Không.
|
|
53
|
+
|
|
54
|
+
> Nếu folder được chọn nằm trong Git repo của folder cha, tool sẽ hỏi bạn muốn **tạo repo riêng** (chỉ up folder này, khuyên dùng) hay **dùng chung repo cha**.
|
|
50
55
|
|
|
51
56
|
---
|
|
52
57
|
|
|
@@ -68,6 +73,12 @@ git-push-time -r https://github.com/username/my-repo.git -d "2024-01-15 14:30:00
|
|
|
68
73
|
git-push-time -r https://github.com/username/my-repo.git -d "-5h" -m "Update docs" -b main -f -y
|
|
69
74
|
```
|
|
70
75
|
|
|
76
|
+
#### Ví dụ 4: Chỉ push đúng 1 folder con (đứng ở folder gốc ngoài cùng)
|
|
77
|
+
```bash
|
|
78
|
+
git-push-time -r https://github.com/username/my-repo.git -m "Init" --dir ./my-app -y
|
|
79
|
+
```
|
|
80
|
+
Tool sẽ `git init` + `git add .` + commit + push **bên trong `my-app`**, remote chỉ chứa nội dung của `my-app` (không có lớp folder cha, không dính file ngoài cùng).
|
|
81
|
+
|
|
71
82
|
---
|
|
72
83
|
|
|
73
84
|
## 📊 Bảng định dạng thời gian hỗ trợ
|
|
@@ -89,12 +100,24 @@ git-push-time -r https://github.com/username/my-repo.git -d "-5h" -m "Update doc
|
|
|
89
100
|
- `-d, --date <datetime>`: Thời gian commit (`now`, `-2d`, `2024-01-15 10:30:00`,...)
|
|
90
101
|
- `-m, --message <msg>`: Thông điệp commit (Mặc định: `Initial commit`)
|
|
91
102
|
- `-b, --branch <branch>`: Tên branch (Mặc định: `main`)
|
|
103
|
+
- `-C, --dir <path>`: Folder nguồn cần push (VD: `--dir ./my-app`). Mặc định là thư mục hiện tại; ở chế độ tương tác tool sẽ cho bạn chọn.
|
|
92
104
|
- `-f, --force`: Đẩy đè lên branch remote (`--force`)
|
|
93
105
|
- `-y, --yes`: Tự động xác nhận, không hiện prompt chọn
|
|
94
106
|
- `--fix`: Tự động gỡ file secret (.env, .npmrc...) khỏi stage và thêm vào `.gitignore`
|
|
95
|
-
- `--publish`: Publish package lên npm sau khi push Git thành công
|
|
96
107
|
- `-h, --help`: Hướng dẫn trợ giúp
|
|
97
108
|
|
|
109
|
+
### ⬇️ Pull Code
|
|
110
|
+
```bash
|
|
111
|
+
git-push-time pull [remote] [branch]
|
|
112
|
+
```
|
|
113
|
+
Mặc định lấy từ `origin` và branch hiện tại. Pull chỉ thực hiện fast-forward để tránh tự tạo merge commit.
|
|
114
|
+
|
|
115
|
+
### ⏰ Sửa Thời Gian Commit
|
|
116
|
+
```bash
|
|
117
|
+
git-push-time edit-time
|
|
118
|
+
```
|
|
119
|
+
Chọn commit trong tối đa 100 commit gần nhất rồi nhập thời gian mới. Nếu lịch sử chỉ có một commit, tool tự chọn commit đó; nếu có nhiều commit thì bắt buộc chọn rõ commit. Sửa commit cũ sẽ viết lại hash của commit đó và các commit phía sau trên branch hiện tại; working tree phải sạch và không hỗ trợ detached HEAD. Bản gốc trước khi sửa được giữ trong nhánh backup tự động `backup/before-date-edit-*` (xem bằng `git branch`). Nếu commit đã push, cần force push để cập nhật remote.
|
|
120
|
+
|
|
98
121
|
### 🛠️ Lệnh Fix Secret Độc Lập
|
|
99
122
|
Nếu phát hiện repo bị dính secret hoặc GitHub Push Protection (GH013) chặn push, bạn có thể chạy ngay lệnh fix:
|
|
100
123
|
```bash
|