Git dành cho người đi làm

Git dành cho người đi làm

Xin chào các bạn, trong bài viết này mình sẽ giới thiệu cũng như là chia sẻ những kinh nghiệm sử dụng Git khi mình đi làm. Có thể thiếu xót nhiều, nhưng mình hi vọng có ích cho các bạn mới vào môi trường làm việc như mình Nếu như có sai xót gì, các bạn hãy nói cho mình biết nhé, để mình hoàn thiện bài viết tốt hơn.

Mình sẽ không giới thiệu về Git với những dòng lệnh nữa, mà trong bài hôm nay mình sẽ giới thiệu cho các bạn TortoiseGit UI.

Quản Lý Source Code Trên Github Đơn Giản Với TortoiseGit.

Mỗi người đều có lựa chọn riêng, có thể dùng Git qua gitbash, nhưng khi mình đi làm, mình được đồng nghiệp giới thiệu và sử dụng TortoiseGit, mình cảm thấy dễ dàng hơn và tốc độ thao tác nhanh hơn rất nhiều 😄

Trước khi bắt đầu, mình sẽ giới thiệu lại 1 chút về Git nhé. Mình hiểu nôm na như này nhé, khi làm việc chung với nhau, ta nhất định sẽ có những file chung hoặc riêng chia sẽ với những người khác trong team hoặc mỗi người sẽ có task riêng, làm trên phần riêng của mình đã được giao mà khi làm xong rồi không lẽ phải gửi tất cho một người để họ tổng hợp hay merge code. Để thuận tiện hơn, chúng ta sẽ sử dụng Git để quản lí source. Trên hình các bạn có thể thấy, các máy tính của các nhân viên(local) sẽ được kết nối với các repo(remote), thao tác chủ yếu sẽ là pull(kéo từ remote về local) và push( đẩy từ local lên remote cho người khác cùng sử dụng). Teamwork sẽ được cải thiện rất nhiều, quản lí source dễ dàng hơn nhiều.

Phần 1: Cách Setup TortoiseGit

  1. Đầu tiên là bạn phải có tài khoản tại github.com cái đã, nhấn vào liên kết và tạo một tài khoản cho mình thôi, nếu đã có tài khoản bạn có thể skip bước 1.
  2. Tạo một repository rồi làm tiếp.
  3. Tiếp theo ta tải về git-for-windows tại đây. Và cài vào máy.
  4. Tải và cài đặt TortoiseGit tại đây. Tải thêm pack ngôn ngữ nếu bạn muốn (optional)

Nếu không, các bạn có thể làm theo video sau link

Phần 2: Hướng dẫn sử dụng và chia sẻ kinh nghiệm sử dụng TortoiseGit

1. Thao tác sơ qua về cách sử dụng TortoiseGit

  • Mình tạo một repository trên github.com tên là "git-test-repo"

  • Giờ clone về thôi 😄

  • Nhập url + chọn nhánh + đặt tên thư mục clone về

  • Clone thành công, rất dễ sử dụng phải không 😄

  • Cùng thử một số thao tác cơ bản nhé, dạng kiểu đổi từ cmd -> sử dụng UI thôi mà hehe( thêm file -> push file lên -> edit thử trên github( giống như file được edit và push từ máy khác) -> pull về)

  • Sau khi commit sau, thông thường sẽ có 2 lựa chọn commit + push lên luôn nếu bạn làm 1 mình 1 brach hoặc không động( mở file hoặc edit file) đến file ai đang làm cả. Tuy nhiên theo lời khuyên của mình, các bạn cứ pull về r push lên nhé.

  • Tuy nhiên đây là repo mình mới tạo nên push luôn.

  • F5 github và coi repo đã update rồi

  • Edit file trên repo

  • Ok, giờ kéo về thôi

  • Done

  • Kiểm tra file test.text xem đã thay đổi chưa?

2. Sau đây mình sẽ chia sẻ một số tips khi sử dụng Git nhé

- Đầu tiền, trước khi bắt đầu làm việc, hãy pull source mới nhất về, hay nói chính xác đó trước khi tạo mới hay edit file nào đó, ta phải đảm bảo rằng file đó phải là version mới nhất trên Git

Tại sao mình lại đưa ra cái tip này? Bởi hồi mình mới đi làm, mình rất hay quên kéo source mới nhất về, mà đã update file đó rồi dẫn đến khi mình commit rồi push file đó lên thì dính conflict mà các bạn biết rồi đó, conflict sửa nhiều khi rất mất công và thậm trí còn rất đau đầu nữa, nên để hạn chế vấn đề này, hãy pull về rồi hẵng làm gì thì không, chứ không lại khóc không ra nước mắt đó hehe

- Tiếp theo, thủ thuật tạo nhánh phụ để code rồi merge vào nhánh develop cực nhanh 😄

Bước 1: tạo folder theo tên nhánh phụ ví dụ depchai_branch, rồi clone nhánh develop về nhé( rất quan trọng đó) ở đây mình đã tạo sẵn nhánh develop rồi nhé, tạo folder rồi clone về thôi

  • nhánh develop trên remote
  • nhánh develop trên local(máy của ta đó 😄)

Bước 2: Tạo nhánh rồi chuyển sang nhánh đó

  • Mình tạo nhánh "depchai"

  • chuyển sang nhánh "depchai"

Bước 3: push lên remote, quá easy đúng không nào 😄

  • Done rồi, check remote thôi

Bước 4: Sau khi code xong, cần merge vào nhanh develop, ta làm như sau:

  • Có nhiều cách tạo merge request, tuy nhiên mình sẽ làm cái dễ + an toàn nhất thôi hehe

  • Đầu tiên phải có gì thay đổi so với nhanh depchai so với nhanh develop

  • Sau đó, các bạn lên trên github hoặc gitlab tạo merge request( github là pull request)

  • Chọn nhanh cần compare, ở đây là nhánh depchai và nhanh develop

  • Ta kéo xuống sẽ thay sự khác nhau giữa 2 nhanh

  • tạo pull request thôi

  • Thường ở step này, nếu chắc chắn ok rồi thì merge thôi còn không thì đưa link merge request cho PM hay teamlead review nhé

  • Ở đây mình là PM luôn nên merge luôn hehe

  • giờ check xem nhánh develop đã merge chưa nhé -> quá dễ để tạo nhánh và merge nhánh phải không nào hehe

- Tiếp theo, khi các bạn update code thì chỉ để động vào những dòng mà các bạn thay đổi so với source, không nên thay đổi những dòng cũ

  • Trong tip này, mình cũng hướng dẫn các bạn compare file trước và sau khi sửa hoặc compare với những commit cũ hơn
  • Ở đây, mình sẽ sửa file develop.txt
  • Thử compare xem với source cũ và với file hiện tại nhé
  • Chọn các mục cần so sánh
  • Phần bôi vàng chính là những phần đã thay đổi
  • Khi muốn thay đổi dòng bên file các bạn đang làm giống với commit trước thì chỉ cần ấn vào dòng đó rồi click "use left block" rồi control + s là ok
  • Cách compare này rất tiện cho các bạn muốn so sánh xem mình đã update đúng format chưa? thừa thiếu chỗ nào không? hay thậm chí xử lí conflict nhé

- Tip cuối này, mình hướng dẫn fix conflicts 1 cách cục súc, đặc biệt conflict file excel( con hàng này rất khó giải quyết) Đối với dạng conflicts do excel khi các bạn UT hay viết tài liệu, ... thì trước khi push lên tốt nhất là backup file đó ra chỗ khác rồi hẵng thao tác. Và khi bị conflicts, đỡ đau đầu nhất là xóa hết folder đó đi và clone lại rồi nhét file của bạn vào hoặc revert tất cả các phần hay folder bị đỏ khi pull về, rồi pull lại rồi push lên, khi commit nhớ xem số lượng file nhé, kẻo ghi đè lên file của đồng đội là nguy hiểm lắm đó hehe

Lời kết, cám ơn tất cả các bạn đã đọc bài viết của mình. Mình sẽ cố gắng tích lũy và chia sẽ cho các bạn kinh nghiệm mà mình đọc được nhé 😄


All Rights Reserved