aedev.net
  • Trang chủ
  • AI
  • Mobile
  • Flutter
  • React Native
  • Backend
  • DevOps
  • Hướng dẫn
No Result
View All Result
SAVED POSTS
aedev.net
  • Trang chủ
  • AI
  • Mobile
  • Flutter
  • React Native
  • Backend
  • DevOps
  • Hướng dẫn
No Result
View All Result
aedev.net
No Result
View All Result
Minh họa pipeline CI/CD từ commit đến deploy cho team nhỏ

Git branch –merged: đọc danh sách theo đúng nhánh đích sau squash

Suong Nguyen by Suong Nguyen
12/11/2026
in Hướng dẫn
0
585
SHARES
3.2k
VIEWS
Summarize with ChatGPTShare to Facebook

Một pull request đã được squash, nhưng nhánh chủ đề vẫn nằm trong danh sách git branch –no-merged. Điều đó không tự chứng minh tính năng bị bỏ sót. Lệnh đang hỏi về quan hệ giữa commit, còn squash có thể đưa nội dung vào dưới một commit mới.

Đọc danh sách với một mốc rõ ràng

Theo tài liệu Git, –merged liệt kê nhánh có tip đi tới được khi lần ngược từ commit đích. Nếu bỏ tên mốc, Git dùng HEAD. Khi đang đứng trên nhánh làm việc, bạn có thể nhận danh sách khác với khi đứng trên main. Vì vậy, nêu đích ngay trong câu lệnh nếu đang kiểm tra trạng thái tích hợp.

git branch --merged main
git branch --no-merged main

Hai lệnh chỉ liệt kê nhánh local, không xóa và không đồng bộ remote. Nếu muốn dùng trạng thái của remote, cần biết ref theo dõi remote đang mới đến đâu. Chọn ref đúng mục tiêu trước khi đọc danh sách, nhất là khi nhánh local chưa theo kịp thay đổi của nhóm.

Tạo tình huống squash trong repository tạm

set -eu
demo=$(mktemp -d)
git -C "$demo" init -q -b main
git -C "$demo" config user.name Demo
git -C "$demo" config user.email [email protected]
git -C "$demo" commit -qm Base --allow-empty
git -C "$demo" switch -qc topic
printf '%s\n' demo > "$demo/note.txt"
git -C "$demo" add note.txt
git -C "$demo" commit -qm Topic
git -C "$demo" switch -q main
git -C "$demo" merge --squash topic
git -C "$demo" commit -qm Squashed
git -C "$demo" branch --no-merged main
git -C "$demo" diff --exit-code main topic -- note.txt

Fixture chạy bằng Git 2.54.0. Dòng topic xuất hiện trong danh sách chưa merged, nhưng diff của note.txt rỗng. Cả hai quan sát đều hợp lý: file ở hai tip giống nhau, còn commit Topic không thuộc lịch sử main. Thư mục demo được tạo riêng; sau khi xem kết quả có thể xóa riêng thư mục đó bằng trình quản lý file.

Kiểm tra trước khi quyết định dọn nhánh

Đọc hai loại bằng chứng: quan hệ commit và thay đổi mà nhóm mong muốn có mặt. Với squash, kiểm tra pull request hoặc commit tích hợp, rồi xem phần nội dung liên quan. Một diff rỗng cho một file không đủ kết luận mọi file của một nhánh thật đã tích hợp.

Không dùng danh sách –no-merged làm lý do tự động xóa nhánh. Nếu nhánh còn công việc chưa đưa lên hoặc dùng bởi người khác, cần quy trình dọn riêng. Bài chỉ dùng một file, không kiểm tra rebase, xung đột, remote hay thay đổi đồng thời trong nhóm.

Kết luận

Ghi rõ nhánh đích khi đọc –merged. Sau squash, kiểm tra bằng chứng tích hợp nội dung riêng với bằng chứng quan hệ commit.

Nguồn tham khảo

  • Git: git branch và –merged

Tags: BranchCode reviewGit
SummarizeShare234
Suong Nguyen

Suong Nguyen

Related Stories

Minh họa pipeline CI/CD từ commit đến deploy cho team nhỏ

Git word-diff: đọc thay đổi từng từ trong một dòng tài liệu dài

by Suong Nguyen
11/11/2026
0

Tạo repository thử để so unified diff và word-diff, nhận biết giới hạn dấu phân cách và chọn đúng phạm vi so sánh.

Minh họa pipeline CI/CD từ commit đến deploy cho team nhỏ

Git log –follow: đọc tiếp lịch sử của một file sau khi đổi tên

by Suong Nguyen
10/11/2026
0

Dựng ba commit để so sánh log theo đường dẫn hiện tại với log --follow và tìm lại phần lịch sử trước lần đổi tên file.

Minh họa pipeline CI/CD từ commit đến deploy cho team nhỏ

Git revert: tạo commit đảo thay đổi cũ và giữ phần việc đến sau

by Suong Nguyen
09/11/2026
0

Thực hành revert một commit bật tính năng trong repository tạm, xác nhận commit mới được thêm và thay đổi độc lập đến sau vẫn còn.

Minh họa pipeline CI/CD từ commit đến deploy cho team nhỏ

Git clean: xem trước file sẽ xóa và phân biệt -x với -X

by Suong Nguyen
08/11/2026
0

Thực hành git clean trong repository tạm để đọc dry-run, nhận biết file ignored và giới hạn thao tác vào một thư mục cụ thể.

Next Post
Minh họa môi trường phát triển React Native với laptop, Android emulator và iOS simulator

Handler.removeCallbacks: giữ đúng Runnable để hủy tác vụ chờ

0 0 votes
Article Rating
Subscribe
Login
Notify of
guest
guest
0 Comments
Oldest
Newest Most Voted
AE Dev

AE Dev mang đến các bài viết về lập trình, mobile app, backend, frontend, WordPress và công nghệ, phù hợp cho developer muốn học hỏi và cập nhật kiến thức thực tế.

Recent Posts

  • React Native Keyboard.dismiss: đóng bàn phím mà vẫn giữ bản nháp
  • Map.get trả undefined: khóa không tồn tại hay đã lưu giá trị undefined?
  • Handler.removeCallbacks: giữ đúng Runnable để hủy tác vụ chờ

Categories

  • AI
  • Backend
  • Đánh giá
  • DevOps
  • Flutter
  • Hướng dẫn
  • Lập trình Mobile
  • Phỏng vấn
  • React Native
  • Uncategorized

Weekly Newsletter

  • Buy JNews
  • Support Forum
  • Pre-sale Question
  • Contact Us

© 2026 AE Dev - Blog công nghệ, lập trình và chia sẻ kiến thức IT.

Welcome Back!

Login to your account below

Forgotten Password?

Retrieve your password

Please enter your username or email address to reset your password.

Log In
No Result
View All Result
  • Trang chủ
  • AI
  • Mobile
  • React Native
  • Backend
  • DevOps
  • Hướng dẫn
  • Flutter

© 2026 AE Dev - Blog công nghệ, lập trình và chia sẻ kiến thức IT.

wpDiscuz
0
0
Would love your thoughts, please comment.x
()
x
| Reply