SỬ DỤNG TORTOISEGIT TRONG QUẢN LÝ DỰ ÁN | CO-WELL Asia

Để hoàn toàn có thể quản trị những dự án Bất Động Sản có nhiều nhà tăng trưởng song song, luôn cần có một công cụ phụ trợ đắc lực không hề thiếu, đó là Git. Bài viết này sẽ trình làng về Git và GUI client tool của Git, mà đơn cử là TortoiseGit, đồng thời tác giả cũng sẽ san sẻ một vài kinh nghiệm tay nghề trong quy trình sử dụng công cụ này .

1. Đôi điều về Git và TortoiseGit

  • Bạn đã biết gì về Git?

Git ( Distributed Version Control System ) là một Hệ thống quản trị phiên bản phân tán, sinh ra vào 2005, tuổi đời như vậy là khá trẻ so với những SCM nhiệm kỳ trước đó khác .

Dù vậy, hiện nay, việc sử dụng Git để quản lý source code đã trở nên vô cùng phổ biến. Theo một khảo sát vào năm 2018 của Stack Overflow, có gần 90% developer đang dùng Git cho dự án của mình tại thời điểm đó.

Khảo sát về tỉ lệ sử dụng Git trong dự án Bất Động Sản ( 2018 )Một số đặc thù điển hình nổi bật của Git :

  • Dễ hiểu, dễ thao tác
  • Gọn nhẹ nhưng rất can đảm và mạnh mẽ
  • So với những công cụ SCM khác như Subversion, CVS, Perforce và ClearCase, Git có nhiều tính năng tiêu biểu vượt trội như :
      • Quản lý branch thuận tiện tiện nghi
      • Có vùng stage thuận tiện hoàn toàn có thể review lại mọi thứ trước khi commit
      • Đặc biệt là đặc tính phân tán của Git, tất cả chúng ta hoàn toàn có thể vận dụng tùy ý bất kể quá trình việc làm nào khi sử dụng vào dự án Bất Động Sản .

Bên cạnh đó, Git cũng có một số ít điểm yếu nhưng không đáng kể, trong đó điểm yếu được cho là lớn nhất đó là Git không tương thích để quản trị những file binary lớn .

  • TortoiseGit là gì?

TortoiseGit là một Windows Shell Interface cho Git, được phát triển từ TortoiseSVN nổi tiếng. Điểm mạnh của TortoiseGit thì khá nhiều trong khi chỉ có một  điểm yếu duy nhất, đó là chỉ chạy trên Windows mà thôi 😀

Git CMS tuy nhẹ và can đảm và mạnh mẽ nhưng lại được phân phối dưới dạng CLI nên nó vẫn là công cụ khó tiếp cận với những người không quen thao tác bằng cách gõ lệnh qua console. Đương nhiên, thao tác qua GUI luôn vui tươi thân thiện hơn và đỡ phải nhớ nhiều command và params rắc rối hơn .Danh sách những Git GUI tools : https://git-scm.com/downloads/guis/Khi thiết lập xong TortoiseGit sẽ được tích hợp luôn vào menu ngữ cảnh với rất nhiều tính năng như hình dưới :

Bạn hoàn toàn có thể tìm hiểu thêm gallery ảnh tại đây để thấy được sự đồ sộ của TortoiseGit .

2. Hai luồng việc làm ( workflow ) tầm cỡ

Trong nhiều dự án Bất Động Sản, người mua hay sử dụng Git để quản trị hàng loạt source code và tài liệu. Thông thường, có 2 workflow khác nhau được sử dụng cho repo source code và repo cho tài liệu .

Workflow cho source code

Workflow cho source code cần bảo vệ những nhu yếu sau :

  • Phía team hoàn toàn có thể tùy ý thao tác theo workflow mình mong ước mà không tác động ảnh hưởng tới phía khách. Phía khách cũng chỉ biết đến branch chuyển giao deliverables duy nhất của phía team .
  • Member phía team chỉ thấy đến branch chuyển giao deliverables mà thôi, sẽ không có chuyện commit và push nhầm vào branch của khách .
  • Chỉ duy nhất BSE đứng giữa chịu nghĩa vụ và trách nhiệm chuyển giao deliverables là hoàn toàn có thể thấy cả 2 bên. BSE cũng là người sẽ lấy những đổi khác thiết yếu từ bên khách đưa ngược qua bên team trong trường hợp khách cùng tăng trưởng song song với team .

Workflow cho docs

Repo tài liệu thường chứa nhiều file binary ( không phải là plain text ), đặc biệt quan trọng là những file Excel nên có một số ít hạn chế như :

  • Việc compare diff của item giữa những version không thuận tiện như source code
  • Vì khó compare diff nên giải quyết và xử lý khi xảy ra xung đột sẽ tốn thời hạn và công sức của con người
  • Workflow phức tạp ( với nhiều branch và luồng merge ) sẽ phát sinh nhiều lịch sử dân tộc sửa đổi trong khi bản thân Git vốn dĩ cũng chưa quá thích hợp cho việc quản trị file binary

Do đó phong cách thiết kế workflow cho repo tài liệu sẽ phải được đơn giản hóa như sau :

  • Bên khách và bên team đều chỉ làm trên 1 branch duy nhất của mình
  • Chỉ merge 1 chiều duy nhất từ branch của khách về branch của team bởi BSE. Việc chuyển giao deliverables sẽ bằng cách sử dụng compare và đồng điệu item
  • Tất cả mem đều có quyền commit push vào branch của team .

3. Một số kinh nghiệm tay nghề sử dụng TortoiseGittrong quản trị dự án Bất Động Sản

  • Đưa 2 repo khác lịch sử vẻ vang vào 1 luồng chung

Thông thường khi người mua đã có sẵn repo docs và bên team kéo về thì BSE chỉ việc tạo branch dùng nội bộ cho team là được. Khi đó revision graph sẽ có dạng như sau :

Nhưng đôi lúc phía team cũng đã có sẵn một repo cho cùng dự án Bất Động Sản trong khi bên khách cũng có repo riêng thì việc quản trị sẽ trở nên khó khăn vất vả ( không hề compare 2 repo khác lịch sử dân tộc được, việc switch qua lại cũng tốn thời hạn ). Do đó, giải pháp lúc này là tạo 1 revision chung của cả 2 repo và mọi việc sẽ thuận tiện hơn từ thời gian đó .Dưới đây là một ví dụ cho thấy 2 branch của 2 repo chạy song song trong suốt quy trình dự án Bất Động Sản .

Lưu ý : Lúc thực thi merge thì sẽ có cảnh báo nhắc nhở 2 repo không cùng history, lúc này mình chọn option force merge là được .

  • Lấy nội dung biến hóa giữa 2 revision

Thông thường BSE không cập nhật thay đổi từ phía khách hàng thường xuyên, đôi khi là một ngày hoặc vài ngày cho đến khi khách hàng báo có update gì đó. Những lúc như vậy, khách đã commit lên khá nhiều lần nên để truyền đạt lại team những thay đổi của khách thì cách tiện nhất là sử dụng tính năng compare 2 revision của TortoiseGit.

Như trong hình trên, đường graph màu đen là branch từ repo của khách, còn màu đỏ là branch của team trên repo Cowell. Có thể thấy rằng kể từ revision `bef5684` thì khách đã commit thêm 3 lần nữa. Ta có chọn 2 revision như trên và sử dụng tính năng compare revisions để xem sự thay đổi. 

Sau khi Double click vào từng item, diff view của item đó sẽ được hiển thị. Hoặc ta hoàn toàn có thể copy hàng loạt list dưới dạng text để share cho team .

  • Kiểm tra đổi khác của tài liệu Excel

Một điểm lợi hại nữa của TortoiseGit là nó được thiết lập sẵn những script tương hỗ so sánh những file phổ cập như Word, Excel, Power Point .. nên tất cả chúng ta hoàn toàn có thể xem diff của những tài liệu này thuận tiện như diff của source code .

Dưới đây là một hành lang cửa số diff của Excel với những cell có màu đỏ là cell bị biến hóa. Ta hoàn toàn có thể nhanh gọn xác lập được vị trí và nội dung đổi khác mà không cần trợ giúp từ phía người mua .

Ngay cả khi phía người mua đã cẩn trọng lưu lại màu những chỗ biến hóa thì ở lần sửa đổi tiếp theo người mua vẫn phải revert chỗ đó về lại màu thông thường. Do vậy, cách này trọn vẹn không hữu dụng khi compare file ở 2 revision cách xa nhau .Tính năng này đặc biệt quan trọng có ích vì BSE hoàn toàn có thể giao thẳng file diff cho thành viên đảm nhiệm tính năng đó tự confirm những vị trí có biến hóa, tiết kiệm chi phí thời hạn check biến hóa và lý giải .

  • GSE hoàn toàn có thể giao thẳng file diff cho thành viên đảm nhiệm Git log

Với workflow của docs, sẽ không xảy ra việc merge nhánh của team vào nhánh của người mua hoặc đưa nhánh của team sang repo của người mua. Do đó BSE sẽ phải đưa files qua branch khách theo quy trình tiến độ sau :

        Bước 1: Đứng ở branch của team, vào working dir copy những file cần bàn giao vào 1 thư mục tạm

        Bước 2: Switch sang branch khách, copy những file đó vào vị trí thích hợp

        Bước 3: Commit và push lên repo của khách

Một số vấn đề thường xảy ra tại bước 1 và 2 :

  • Số lượng file nhiều thì thao tác cũng khá tốn thời hạn, đặc biệt quan trọng nếu những file nằm ở nhiều thư mục khác nhau
  • Trong quy trình copy và kiểm tra thì file vô tình bị biến hóa ngoài ý muốn

Cách giải quyết :

Luôn đặt thư mục bên branch của team có đường dẫn tương tự như thư mục bên branch của khách .Sử dụng tính năng revert ngay trên hành lang cửa số compare của TortoiseGit để copy file. Với cách này, tài liệu sẽ được copy nhanh và đúng chuẩn qua branch của người mua .Minh họa như hình dưới :

Bước 1: Switch sang branch của khách (ở trên là master), sau đó compare working tree changes và branch của team (ở trên là cw_master)

 Bước 2: Tìm đến file cần chuyển sang khách, chọn Revert to revision xxx từ menu ngữ cảnh

Bước 3: Khi revert xong (ở trên là revert từ trạng thái delete, tức là sẽ tạo mới bên branch khách) sẽ có popup như trên

Bước 4: Đóng dialog, refresh History.  Khi check Working tree changes, ta sẽ thấy file phía team đã được copy sang. Lúc này, ta có thể commit và push lên repo của khách.

 

Kết lại

Việc sử dụng command line quả thực rất ngầu và vận tốc nhanh, nhưng nó không tương thích cho mọi trường hợp. Một công cụ GUI client tool thuận tiện như TortoiseGit sẽ giúp bạn thao tác thuận tiện hơn cũng như đơn giản hóa việc quản lý tài liệu và source code. Hy vọng những thông tin về Tortoise Git trong bài viết này sẽ giúp cải tổ dự án Bất Động Sản của bạn chạy mềm mịn và mượt mà và vận tốc hơn .

 Nguyễn Quang Yên – CO-WELL Asia

Xem thêm những bài viết khác về công nghệ tiên tiến fanpage CO-WELL Asia

Source: https://tuvi365.net
Category: BLOG

Related Posts

Leave a Reply

Your email address will not be published.