Kiến thức về Git Flows

Giải thích Workflow theo kiểu Gitflow

Body

Gitflow được thiết kế cho các dự án phần mềm release theo version, theo kiểu version release ấy. Đây là quy trình làm việc, nó sẽ không thêm các tính năng mới cho Git, nó chỉ định rất rõ vai trò của mỗi branch, tại sao, khi nào các branch sẽ tương tác qua lại với nhau.

Chúng ta cùng nghiên cứu mục đích của từng branch

Develop

4 Gitflow phổ biến hiện nay: Tách ra để đi nhanh hơn, hợp lại để đi xa hơn

Body

SVN và Git là 2 VCS được sử dụng nhiều nhất. SVN và Git là đại diện cho 2 trường phái của VCS gọi là Centralized và Distributed Version Control. Xu thế hiện nay thì SVN đang được chuyển đổi dần sang Git. Để sử dụng được Git để quản lý source code thì khá là dễ. Bạn chỉ cần hiểu được 1 vài khái niệm cơ bản, như remote, branch, commit, pull hay push. Nhưng dùng Git sao cho hiệu quả, tận dụng được các tính năng, các điểm mạnh của Git so với các VCS khác thì lại là một chuyện khác.

Cách xử lý các lỗi thường gặp trong git

Body

Đầu tiên muốn sửa được lỗi trong git ta phải thực hiện tạo ra nó trước đã. Vậy phần 1 mình sẽ nói 1 số lệnh cơ bản trong git theo follow tạo và sử dụng 1 project.

Các lệnh cơ bản

1. Khởi tạo git

  • Chắc ai cũng biết rồi muốn khởi tạo 1 repo ta dùng lệnh

git init

2. Thêm mới remote vào project

# hiển thị danh sách remote trong git của project git remote -v # Thêm mới một remote vào git git remote add origin <url>

So sánh chi tiết giữa Bitbucket vs Github và Gitlab

Body

Các dự án phát triển phần mềm dựa trên tinh thần đồng đội. Tất cả các thành viên phải biết những gì những người khác đang làm và tự do truy cập mã do đồng nghiệp của họ viết. Có thể thực hiện được với hệ thống kiểm soát phiên bản - phần mềm cho phép ghi lại các thay đổi trong mã và tải lên các phiên bản mới.

Dòng chảy Git - Đã có Commit, tại sao vẫn phải Push?

Body

Những người từng lập trình trong thập kỷ 2000-2010 ắt hẳn sẽ thắc mắc vì sao Git lại rối rắm như vậy? Vì sao không commit code thẳng lên remote repository mà phải qua trung gian local repository.

Commit là chuyển hàng ra bến cảng, cửa khẩu. Push là xuất khẩu hàng ra khỏi biên giới

Commit vs push

 

Dòng chảy Git - Quản lý kho dữ liệu riêng với lệnh git Stash

Body

Đôi khi bạn muốn chuyển đổi các nhánh, nhưng bạn đang thực hiện một phần chưa hoàn thành trong dự án hiện tại của mình. Bạn không muốn thực hiện commit hoàn thành một nửa công việc. Git stashing cho phép bạn làm như vậy. Lệnh git stash cho phép bạn chuyển đổi các nhánh mà không cần commit nhánh hiện tại.

Stash giống như "Tạm nhập, tái xuất"

Hình dưới đây minh họa các thuộc tính và vai trò của lưu trữ liên quan đến kho lưu trữ và thư mục làm việc.

Dòng chảy Git - Patch file là gì?

Body

Sử dụng git tạo patch file

Trong quá trình làm việc chung trên một source code chúng ta phải thường xuyên trao đổi với nhau về những thay đổi của source code. Đối với git chúng ta hay sử dụng việc đóng gói những thay đổi vào các commit và share cho các thành viên khác trong team. Tuy nhiên đôi khi chúng ta vì lý do nào đó mà không thể push lên repo chung. Khi đó việc dùng patch file là cực kì quan trọng và thuận lợi, chúng ta có thể trao đổi thông qua việc gửi email, share file. Thậm chí có thể quan sát các thay đổi trong từng file.

Dòng chảy Git - Những lệnh Git hữu ích nhất cho lập trình viên

Body

Update và merge branch hiện tại với một remote repo

cd repo/ git pull origin master

với origin là remote repo, master là remote branch.

Nếu bạn không muốn merge những thay đổi của bạn, hãy sử dụng git fetch

Liệt kê các remote urls

git remote -v

Kết quả:

origin  https://gitlab.com/tigosoftware/business-portal.git (fetch)
origin  https://gitlab.com/tigosoftware/business-portal.git (push)

Dòng chảy Git - Vẽ bản đồ git với Gource Visualization

Body

Gource là một công cụ vẽ bản đồ gitlog của bất kỳ dự án nào có quản lý source code bằng Source Control. Tương tự như các công cụ BI Visualization khai thác tập dữ liệu lớn. 

Tuy vậy để dùng Gource, bạn cần trả tiền để được thưởng thức nghệ thuật này.

 

Dòng chảy Git - Đưa code về nơi bạn muốn

Body
Git là một trong những Hệ thống Quản lý Phiên bản Phân tán, được phát triển nhằm quản lý mã nguồn (source code) Trên Git, ta có thể lưu trạng thái của file dưới dạng lịch sử cập nhật. Nhờ mô hình Git, lập trình viên có thể reset file đã chỉnh sửa về trạng thái cũ hay kiểm tra được file đã được chỉnh sửa ở những chỗ nào, sửa bỏi ai.