Git & Github: Bài 5 Cài Đặt Git Extension và Tortoise Merge SVN
Chào mừng các bạn đến với chủ đề sử dụng Git & Github tại blog : Phát Triển Phần Mềm 123AZ.
Bài số 5 này chúng cùng tìm hiểu về git extension và tortoise Merge SVN.
1. Git Extension có vài trò gì.
Là một công cụ quản lý tiến trình làm việc của một dự án.
Khi bạn cài đặt git extension và trỏ nó vào folder repo chứa dự án của bạn.
Git extension sẽ show cho bạn một bảng tiến trình phát triển của dự án.
Nó sẽ cho bạn thấy, dự án đi từ gốc, và rẽ ra bao nhiêu nhánh trong repo, hiện này đang ở nhánh nào.
Git extension show cho bạn thấy các điểm commit của từng thành viên rất rõ ràng. Nhưng đoạn conflick và xử lý merge.
Hãy nhìn hình minh họa dưới đây và chúng ta cùng phân tích.
Đây là RepoGame trong máy tính của tôi, và tôi đã trỏ git extension vào repo này.
Các bạn thấy nó đã show được toàn quá trình phát triển của dự án từ lúc bắt đầu đưa vào git quản lý.
=> Các bạn nhìn ở cuối tấm ảnh sẽ thấy: master orgin/master chính là thời điểm ban đầu tôi tạo repo game cách đây 4 năm.
=> Sau đó các bạn thấy tôi có một nhánh có tên là : sdlgame đã phát triển cách đây 4 năm và đã dừng lại không làm tiếp
=> Sau đó tôi lại có một nhánh mới có tên là: sdlgame2018 đã được thêm mới vào cách đây 3 tháng,
và hiện tại nhánh này đang là nhánh cao nhất, nghĩa là nó đang được phát triển nhiều nhất.
Hiện tại repo cũng đang ở nhánh này, nên nó được thể hiện bởi đường màu đỏ.
Và commit mới nhất là commit cách đây 9h do tài khoản có tên passionpham thực hiện.
=> Các bạn để ý tiêp, sau nhánh sdlgame2018, thì tôi lại có thêm một nhánh mới:
sdlGameWalk cũng được add cách đây 3 tháng.
và nhánh này có commit mới nhất là cách đây cũng 9h (khi mà tôi commit các thay đổi để chuyển sang nhánh sdlgame2018)
Nhánh này có đường màu bạc giống như nhánh sdlgame nghĩa là nó được không được lựa chọn trên git.
Như vậy các bạn nhìn vào git extension các bạn thấy rất rõ, toàn bộ tiến trình phát triển của repo,
nó có bao nhiêu nhánh nào có đường phát triển cao nhất thì nghĩa là được thực hiện nhiều nhất.
Có những nhánh nhiều năm liền không phát triển thì nó sẽ thấp
Nhánh nào có màu sắc là nhánh đang được show trên git.
Bây giờ chúng ta chỉ quan tâm đến nhanh đang được show trên git, nhánh sdlgame2018
Các bạn sẽ có thời điểm nó được rẽ thành 2 đường, sau đó nó lại hợp lại.
=> Thời điểm rẽ làm 2 đường chính là điểm mà xảy ra va chạm, conflick code của dự án, nó chia thành 2 nhánh là nhánh tại local và nhánh tại server.
Khi bạn thực hiện xử lý conflick bằng các merge code và thành công, sau đó thực hiện commit, thì lập tức hai nhánh rẽ này sẽ lại hợp lại thành một nhánh, và server chấp thuận cho local đẩy code lên.
Như vậy đó là vai trò của git extension.
Ngoài ra khi xảy ra conflick, thì git chỉ thông báo conflick, còn việc xử lý conflick và merge code thì git extension lại thực hiện.
Do đó khi làm dự án, bạn nên cài đặt git extension để việc merge code được thuận tiện. Nếu không bạn phải xử lý merge code theo cách thủ công rất thiếu chính xác, và mất thời gian.
2. TortoiseMerge .
Đây là một công cụ phục vụ cho việc merge code rất hiệu quả và linh hoạt.
Hãy xem TortoiseMerge thể hiện conflick giữa 2 file code
Nếu bạn không cài ông này, thì khi cài git extension bạn sẽ phải cài công cụ kDiff3 để thực hiện việc merge code khi xảy ra conflick.
KDiff thì merge code hơi thủ công, nên hãy họn TortoiseMerge .
Do đó bạn hãy download và cài đặt Tortoise Merge
Link down Tortoise Merge => click here
3. Cài đặt và cấu hình git Extension.
a. Cài đặt và lựa chọn repo.
Các bạn download bản git extension: Click here
và tiến hành cài đặt như sau.
Để mặc định như trên và Next.
Chọn công cụ default để merge code là kDiff3.
Khi bạn chọn option này và sau đó ấn next thì lập tức kDiff3 sẽ được cài đặt, bạn chú ý có một dialog mới xuất hiện cài đặt kDiff3
Bạn chọn Agree như và cứ next cho đến khi kết thúc.
Khi bạn cài đặt kDiff3 xong thì git extension tiếp tục được cài đặt.
Chọn option như trên rồi tiếp tục ấn next.
Bạn cứ next cho đến khi cài đặt git extension thành công.
Chạy chương trình sẽ ra như sau.
Bạn chọn Open Repository và lựa chọn Repo mình cần thực hiện quản lý
Sau khi bạn chọn xong thì lập tức git extension sẽ show ra tiến trình phát triển dự án như hình minh họa đầu tiên.
b. Cấu hình
Bạn chọn setting và chọn git config.
Khi chọn git config rồi bạn hãy sửa phần Mergetool, nó mặc định là kDiff3, bạn hãy chuyển nó thành TortoiseMerge như hình minh họa dưới đây. Nhớ là cài TortoiseMerge trước rồi nhé.
Ok. Như vậy việc cài đặt git extension tortoiseMerge và cấu hình hoàn thành.
Bạn có thể theo dõi được tiến trình dự án.