Tổng hợp các flow về Git và combo Git command

922
Tổng hợp các flow về Git và combo Git command

Các flow liên quan đến Git

Nếu trong một dự án, mọi người sử dụng Git một cách tùy ý, bừa bãi thì sẽ dẫn đến nhiều hệ quả như: người khác không hiểu được tên nhánh đặt ra có nghĩa gì, sai thao tác khiến mất code, không deploy được,… Yêu cầu đặt ra cần có những quy trình cụ thể để mọi người cùng thống nhất thực hiện theo, vì vậy, Git-flow, GitHub-flow và Gitlad-flow đã xuất hiện. Tuy nhiên, trong giới hạn bài viết này, mình xin phép không đề cập đến Gitlab-flow vì chưa thực sự hiểu rõ về nó.

Git-flow là tên gọi của 1 tool/plugin hỗ trợ branch model gọi là A successful Git branching model do Vincent Driessen đề xuất ra. Ngoài ra, việc sử dụng pluging này để thực hiện mô hình branch của Git (giống như trình tự sử dụng) thì cũng được gọi chung là git-flow.

Github Flow là một quy trình đơn giản dựa trên các branch với mục đích hỗ trợ team và các project được deploy một cách thường xuyên. Việc thao tác, vận dụng với Git-flow khá lằng nhằng, nên GitHub-flow đã đơn giản nó đi rất nhiều.

  • GitHub-flow bao gồm nhánh master và nhánh feature.
  • Từ nhánh master dùng cho Product, tạo 1 nhánh có tên phù hợp với mục đích. (ở đây gọi là feature, gần giống với feature/hotfix ở git-flow)
  • Làm việc trên nhánh feater đã tạo, sau khi hoàn thành công việc thì push lên nhánh remote.
  • Sử dụng chức năng tạo Pull Request của GitHub, sau khi review thì merge vào nhánh master.
  • Sau khi merge vào nhánh master thì lập tức được deploy lên Product. 

Tổng hợp các combo Git command

Khi đã áp dụng quen các process về Git, chúng ta ít khi sử dụng riêng lẻ từng command, mà nó sẽ đi theo bộ combo. Dưới đây là những bộ combo Git command thường dùng mà mình tổng hợp lại, nếu thiếu sót thì mong các bạn bổ sung nhé.

  8 tip để làm việc hiệu quả trên GitHub

Những thao tác chung

Tạo branch mới

Thêm tập tin vào vùng index

Commit và push lên Remote repository

Xóa branch

Thao tác thêm những thay đổi vào nhánh master mới nhất

Dùng merge

Dùng rebase

Về cơ bản thì 2 combo trên đều giải quyết việc tích hợp code của nhánh hiện tại vào master.

  Tự động deploy Laravel project lên server với Laravel Envoy Github Webhooks - phần 1

Nếu bị conflict khi rebase

Những command thường dùng khi thao tác nhầm

Sửa commit message

Sửa lại tên branch

Muốn xóa một commit khi lỡ commit nhầm

Khi lỡ tay xóa mất commit

Khi lỡ tay xóa mất branch

Khi muốn tạm dừng công việc hiện tại và chuyển sang một branch khác

Kết

Những thông tin mình tổng hợp trên đây tuy không mới mẻ nhưng mình hy vọng sẽ giúp ích được các bạn trong quá trình thao tác với Git và bổ sung thêm chút kiến thức và các flow liên quan đến Git.

TechTalk via viblo.asia

  Giới lập trình viên Trung Quốc lo sợ mất kho lưu trữ nguồn mở GitHub vì chiến tranh thương mại
  GitHub, nền tảng chia sẻ mã nguồn mở lớn nhất thế giới bị tấn công đòi tiền chuộc
CHIA SẺ