Câu Lệnh Và Quy Trình Làm Việc Hiệu Quả Với Git

Khi lập trình, sẽ có lúc bạn lỡ tay xoá một đoạn code vì nghĩ rằng đoạn code đó không phù hợp nữa, nhưng sau đó lại phát hiện là đoạn code đó bạn vẫn cần dùng. Bạn nghĩ mình có thể nhớ lại chính xác những gì mình đã viết không? Thật sự là rất rất khó. Nhưng nếu bạn có dùng phần mềm quản lý phiên bản mã nguồn thì mọi việc sẽ trở nên đơn giản hơn rất nhiều vì phần mềm quản lý phiên bản mã nguồn sẽ cho phép bạn dễ dàng quay lại một phiên bản trước của tập tin đó.

Việc lập trình cũng giống như các ngành nghề sản xuất khác, bạn tạo ra sản phẩm và đưa đến tay người dùng đồng thời cũng phải không ngừng cải tiến sản phẩm của mình sao cho phù hợp với nhu cầu thị trường, yêu cầu của khách hàng. Để mọi việc dễ dàng hơn chúng ta thực sự cần đến một công cụ để quản lý sản phẩm của mình. Như các sản phẩm hàng hoá khác ta có thể dùng các phần mềm quản lý kho, quản lý dây chuyền sản phẩm, v.v. Đối với phần mềm, chúng ta có các công cụ quản lý phiên bản source code có thể kể đến như Git, SVN, Subversion, Mecurial, … Mỗi công cụ có những đặc điểm và ưu thế riêng, trong số các công cụ này git là công cụ quản lý source code phổ biến nhất.

Qua bài viết này, mình muốn giúp những bạn :

  • Có cái nhìn tổng quát về công cụ quản lý source code nói chung và git nói riêng.

  • Hiểu được cơ bản cách git hoạt động giải trí và nên vận dụng như thế nào cho project của mình .
  • Làm quen với 1 số ít câu lênh cơ bản của Git
  • Hiểu được git workflow và cách làm việc với branch trong Git trong những dự án Bất Động Sản trong thực tiễn .

Git – Công cụ quản lý source code

Thực ra đã có rất nhiều công cụ được sinh ra để phân phối cho việc quản trị source code như trên, do những tính năng ưu việt của git mà nó ngày càng phổ cập và được sử dụng thoáng đãng, chiếm lợi thế so với những công cụ khác .
Bạn hoàn toàn có thể theo dõi cụ thể trong bài viết Git là gì và sử dụng như thế nào

Dùng Git trong những trường hợp nào ?

Về việc tại sao lại dùng git thì có lẽ rằng thực tiễn đã chứng mình và vấn đáp cho câu hỏi này rồi, git cung ứng xử lý cho những yếu tố nhức nhối về quản trị source code một thời và nó có hàng loạt những tính năng hữu dụng giúp cho việc tăng trưởng source code được nhanh và hiệu suất cao hơn rất nhiều .

  • Git như là một cỗ máy thời gian giúp chúng ta có thể quay lại và xem code của mình ở một thời điểm trước, miễn là trước đó bạn có lưu lại trạng thái đó.
  • Git theo dõi một cách hoàn hảo việc bạn thêm mới các file, thay đổi hay xoá đi file (cụ thể trong từng dòng code và từng ký tự :)))
  • Đối với làm việc nhóm, phân chia module và phát triển các tính năng riêng biệt thì git đáp ứng một cách tuyệt vời tính năng chia tách, gộp các branch lại với nhau.
  • Với git chúng ta có thể truy vết được từng dòng code là do thành viên nào trong team viết và viết vào thời gian nào giúp ích rất nhiều cho quá trình review code hoặc khi gặp bug, gặp lỗi ở những câu lệnh của module đó.
  • Và còn rất nhiều các tính năng bá đạo khác!.

Vậy thì khi nào cần dùng git, việc đó tuỳ vào bạn.

Công cụ nào cũng vậy, chỉ nên sử dụng khi bạn biết nó phân phối được nhu yếu và có thực sự thiết yếu không cho dự án Bất Động Sản của mình. Tuy nhiên, nếu là một lập trình viên thì khi nào mà bạn chẳng tạo ra code nên việc sử dụng git theo mình nghĩ đó là một điều tất yếu .
Có quan điểm cho rằng nếu chỉ làm việc một mình thì git cũng chẳng thiết yếu lắm, git sinh là để những team quản trị source code. Mình thì nghĩ ngược lại, git sinh ra là để quản trị source code nói chung chứ không phải quản trị code của do bao nhiêu người viết ra. Nếu bạn làm việc một mình và một ngày nào đó lỡ nghịch dại làm cho code của mình chạy ra 1 số ít dòng error đỏ chót, có lẽ rằng sẽ bạn sẽ ước gì mình trước đã mặc kệ tổng thể để dùng git, nhưng đến lúc đấy thì đã quá muộn, :)). Vậy thì còn ngần ngại gì mà không học git ngay ngày hôm nay, nó thực sự giúp ích rất nhiều cho hiệu suất việc làm của bạn, Life is more easier with Git ! .

Git local repository và Git remote repository

Có một khái niệm với Git mà bạn cần nắm được để có thể hiểu và làm việc với nó dễ dàng hơn khi mình giới thiệu các câu lệnh của Git. Đó là biết được repository là gì? 

Repository là nơi lưu trữ code và chính xác là tất cả các phiên bản source code của bạn, nó lưu lại tất cả mọi thứ bao gồm những thay đổi của source code từ khi nó được khởi tạo ở project cho đến thời điểm hiện tại. Chính vì thế mà khi có repository bạn có thể xem lại tất cả phiên bản của source code đó ở mốc thời gian mà bạn muốn. Nếu repository được lưu trên máy tính của bạn, nó được gọi là local repository còn nếu nó được lưu trên các server chuyên cung cấp dịch vụ về git nó được gọi là remote repository. Hiện nay, có một số Git Server phổ biến và có rất nhiều tính năng hữu ích có thể kể đến như GitHub, GitLab, Bitbucket,…

Local repository và remote repository có thể được đồng bộ với nhau thông qua các câu lệnh của git mà chúng ta sẽ tìm hiểu dưới đây.

Làm thế nào để khởi đầu với Git ?

Tất nhiên với một cái máy tính trắng tinh thì bạn chẳng thể làm gì với git, trước tiên chúng ta cần tải về phiên bản mới nhất của git tại Tất nhiên với một cái máy tính trắng tinh thì bạn chẳng thể làm gì với git, thứ nhất tất cả chúng ta cần tải về phiên bản mới nhất của git tại trang chủ của nó. Mình khuyên bạn tránh việc setup ứng dụng từ những nguồn khác không đáng an toàn và đáng tin cậy vì hoàn toàn có thể dẫn đến những vấn để bảo mật thông tin. Khi setup một ứng dụng nào đó, bạn luôn luôn nên truy vấn vào trang chủ để tải về thiết lập nó, đồng thời điều này bạn cũng giúp mình được tương hỗ tốt nhất trong những trường hợp có lỗi .Dù bạn có đang dùng hệ quản lý nào Windows, Linux hay MacOS thì hãy yên tâm là git đều được tương hỗ và có tài liệu hướng dẫn setup cụ thể cả. Việc setup cũng diễn ra rất đơn thuần, đa phần là những thao tác Next còn lại tự đông nó chạy cho mình hết. Sau khi thiết lập xong để chắc như đinh đã thành công xuất sắc, bạn hãy bật Terminal lên và gõ lệnh :

git --version  

để kiểm tra phiên bản git đã được setup trên máy tính của mình .

Một số câu lệnh cơ bản khi làm việc với git

Bạn nên tạo cho mình một thông tin tài khoản GitHub ( hoặc hoàn toàn có thể GitLab, Bitbucket, … ) để hoàn toàn có thể tạo cho mình một remote repository và học git một cách toàn vẹn hơn tại đây

      1. Các câu lệnh để cấu hình git

Các thông tin bạn cấu hình cho git của mình sẽ được lưu global, nghĩa là những thông tin này sẽ được sử dụng cho những câu lệnh git khác sau này.

git config --global user.name "trongtai37"

git config --global user.email [email protected]

Hai câu lệnh này sẽ thiết đặt 1 số ít thông tin như username, email, … của người sử dụng git. Mục đích chính là để nói cho git biết rằng bạn là ai, sau này triển khai những câu lệnh khác git cứ thế mà dùng những thông tin này để truy vấn. Ngoài ra, còn nhiều thông tin nâng cao khác hoàn toàn có thể thông số kỹ thuật, bạn hoàn toàn có thể tìm hiểu thêm tại đây .

2. Khởi tạo git trong project của bạn

Để có thể khởi tạo git trong project của bạn, git sẽ bắt đầu theo dõi quá trình bạn thêm mới, sửa đổi hoặc xoá các file, ta chỉ cần vào thư mục gốc của project và chạy câu lệnh như sau:

git init

Hoặc nếu bạn chưa có project nào thì bạn hoàn toàn có thể tìm một remote repository và clone project của người khác để vọc vạch hoặc sử dụng git trong việc tăng trưởng tiếp mã nguồn đó .

git clone / path / to / repository

Ví dụ sau đây mình có tạo một repository sau đó clone project của mình để sử dụng tại local như sau :


Khi làm việc để tăng trưởng những project thì việc tất yếu phải làm là bạn chỉnh sửa, thêm mới, xoá những file code của mình và nếu project của bạn đã được tích hợp git, thì những biến hóa trong quy trình trên đã được git theo dõi ( kỹ càng đến từng ký tự :)) ). Để biết được bạn đã đổi khác những gì chỉ cần dùng câu lệnh sau :

git status

Trong hiệu quả trả về của câu lệnh trên git cho bạn biết được những file mình đã thêm ( add ), sửa ( modified ) và xoá ( deleted ) .
Và khi bạn chắc như đinh với những sự biến hóa của mình với source code, code chạy ngon lành và trong thời điểm tạm thời không thấy được bug nào. Bạn muốn lưu lại trang thái của source code này để lỡ một ngày không xa code không chạy được thì mình hoàn toàn có thể quay lại trang thái này để code hoàn toàn có thể chạy thông thường như trước. Muốn làm được việc này thì tất cả chúng ta sử dụng câu lệnh :

git commit - m " Commit message "

Câu lệnh này ghi nhận rằng bạn muốn lưu trạng thái của code hiện tại, và để thuận tiện ghi nhớ hơn ta đính kèm theo một message, sau này tìm lại còn dễ và nhanh gọn hơn. Nhưng trước hết bạn cần cho git biết được rằng cụ thể trạng thái bạn muốn của những file là như thế nào. Có thể bạn biến hóa, xoá nhiều file và git hoàn toàn có thể theo dõi việc đấy, khi muốn lưu lại trạng thái của source code thì bạn phải add những biến hóa đó vào một gói hàng, từ đó khi commit thì mọi thứ sẽ được lưu lại bằng một trạng thái của source code, bằng câu lệnh sau :

git add .

Nếu bạn chỉ muốn add một file bất kể để sử dụng cho lần commit tiếp theo bạn hoàn toàn có thể add theo cú pháp như sau :

git add

Khi đã lưu được trạng thái của source code, để vận dụng và lưu trang thái này lên remote repository, tất cả chúng ta dùng câu lệnh sau :

git push

trong đó remote_repository là nơi bạn muốn đẩy code lên và đẩy vào branch nào của remote_repository đó. Khi câu lệnh hoàn thành xong nếu bạn có quyền push lên branch đó thì source code trên remote_repository sẽ được update trạng thái mới nhất .
Ví dụ :

git push origin master

Bạn hoàn toàn có thể đặt tên cho remote_repository của mình để dễ nhớ hơn và thuận tiên cho việc sử dụng trong những câu lệnh khác bằng cách :

git remote add

Ví dụ :

git remote add origin

https://github.com/trongtai37/javascript.git

Khi bạn tạo một repository thì branch master sẽ tự động được tạo và là branch mặc định bạn làm việc hiện tại. Đối với các project cá nhân thì làm việc trên branch này có thể đáp ứng đủ các yêu cầu. Tuy nhiên đối với các dự án công nghệ trong thực tế khi mà có nhiều tính năng và muốn phát triển nhiều tính năng cùng lúc thì rõ ràng một branch master là không đủ. Chúng ta có thể tạo nhiều branch khác và phát triển các tính năng riêng biệt trên từng branch đó cho đến khi hoàn thành cả hai thì có thể gộp chung và branch master.

3. Làm việc với branch trong Git

Với yếu tố đặt ra ở phần 2, git branch sinh ra và việc làm việc trên những branch khác nhau của một repository là việc làm thường xuyển của những người tham gia vào dự án Bất Động Sản .
Để tạo một branch mới trong Git, tất cả chúng ta sử dụng câu lệnh sau :

git branch

Tạo branch mới và chuyển sang luôn branch ấy để làm việc :

git checkout -b

Chuyển đổi qua lại giữa những branch để làm việc :

git checkout

Để liệt kê xem repository của bạn có những branch nào và hiện tại bạn đang làm việc tại nhánh nào thì hãy dùng câu lệnh sau :

git branch -a

qua câu lệnh này bạn cũng biết được rằng mình đang làm việc trên branch nào, chú ý branch hiện tại đang làm việc được lưu lại * trước nó. Với những Editor thần thánh lúc bấy giờ như VS Code, Sublime Text hay Atom, … sẽ có tích hợp một số ít tool git hoàn toàn có thể biểu lộ branch đang làm việc hiện tại lên cho người dùng mà không cần dùng câu lệnh này .
Cơ bản khi làm việc với git branch thì bạn sẽ chuyển qua làm việc ở một branch đơn cử nào đó, còn chuyện bạn sửa thêm mới những file, chỉnh sửa hay xoá mất file thì nó chỉ tác động ảnh hưởng đến một và chỉ một branch đó thôi. Chỉ khi triển khai xong việc làm và bạn đi đến quyết định hành động cần merge code của mình vào một branch nào đó ( hoàn toàn có thể cùng repository hoặc khác repository ) thì mọi chuyện nó mới khởi đầu trở nên có yếu tố :))
Ta tạm gọi branch hiện tại đang làm việc là branch A và branch bạn muốn merge vào là branch B. Vậy thì trước khi thực thi một tính năng mới thì bạn phải có code mới nhất từ branch B ( điểm khởi đầu nó phải rất đầy đủ nhất ) bằng câu lệnh pull sau đây :

git pull  

Ví dụ, bạn đang ở branch A và chạy câu lệnh sau :

git pull origin master

Câu lệnh trên sẽ lấy trạng thái code mới nhất từ branch master của orgin, giả sử bạn đang ở branch develop của local repository và thực thi câu lệnh này, thì code của bạn sẽ được update mới nhất sao cho giống như code ở trên branch master của origin .

Để tiến hành merge từ branch A vào branch B, tức là bạn muốn code ở branch B được cập nhật giống hệt như code ở branch A, tính năng của bạn được áp dụng vào branch B, bạn có thể sử dụng câu lệnh push , nếu được cấp quyền thì code ở branch B sẽ được cập nhật mới nhất giống như branch A.

Tuy nhiên, điều này chỉ nên vận dụng với những project nhỏ và làm cá thể. Để merge code từ branch này sang branch khác, theo đúng quy trình, người lập trình cần tạo merge request lên git server. Tức là cần tạo một thông tin ( merge request ) rằng mình muốn merge branch A vào branch B để có một người xem merge request này, sau khi xem xét kỹ lưỡng những đổi khác và bảo vệ code hoàn toàn có thể chạy tốt sau khi được merged thì người có quyền sẽ update code ở branch B sao cho mới nhất như ở branch A trải qua merge request vừa được tạo .
Sau khi khi được merged code, bạn hoàn toàn có thể tận thưởng tính năng mới triển khai xong của mình ngay trên branch B .
Các bạn hoàn toàn có thể xem thêm về merge request tại đây. Do khoanh vùng phạm vi của bài viết nên mình không có thời hạn nói kỹ về phần này .

Quy trình làm việc với git hiệu quả

Để sử dụng git hiệu suất cao trong những dự án Bất Động Sản, sẽ có những quy tắc và quy trình làm việc giúp cho quy trình tăng trưởng mã nguồn được đồng nhất, giảm thiểu xảy ra sai sót, xung đột. Các thành viên trong nhóm cần tuân thủ những quy tắc của git working flow như sau :

  • Repository của dự án Bất Động Sản bắt buộc phải có hai nhánh là master và develop. Trong đó nhánh master là nhánh stable chứa code hoàn hảo được dùng cho production. Nhánh develop là nhánh có mã nguồn mới nhất về những tính năng được tăng trưởng và đang được deploy lên server để testing .
  • Người tăng trưởng ứng dụng cần fork repository gốc của dự án Bất Động Sản về thành một repository của mình, khi tăng trưởng về một tính năng mới hay sửa lỗi, người lập trình cần tạo ra một branch mới từ repository của mình rồi mới thực thi việc làm trên branch đó. Khi triển khai xong việc làm thì commit code của mình vào branch sau đó tạo merge request để merge code của mình vào repository gốc của dự án Bất Động Sản .
  • Cần pull code từ repository gốc khi tăng trưởng một tính năng mới để bảo vệ code trên máy mình là code mới nhất từ dự án Bất Động Sản, tránh xảy ra xung đột ( conflict code ) sau khi tạo merge request .
  • Đối với người có quyền merge code từ những branch khác vào branch develop cần có review kĩ càng, khi xảy ra conflict phải gọi những người tham gia vào việc tăng trưởng tính năng ấy để hoàn toàn có thể xử lý một cách tốt nhất, tránh trường hợp sau khi merge code không chạy được hoặc chạy sai trọn vẹn so với mục tiêu của người lập trình .

Đến đây cũng gần kết thúc bài viết nhưng mọi thứ chỉ mới là bắt đầu với bạn, sau đây là một số nguồn để bạn có thể tự mình khám phá thêm và vọc vạch với một số tool trên VS Code!

Nơi để học git tốt nhất mình nghĩ là nơi sản sinh ra nó, những bạn hoàn toàn có thể vào trang chủ của Git để đọc document của nó với những lý giải chi tiết cụ thể về từng câu lệnh của nó. Trang web này cũng cung ứng cho bạn nguồn tài liệu bằng sách dưới nhiều định dạng ( có cả định dạng. MOBI cho những thế hệ máy đọc sách phổ cập lúc bấy giờ ). Tuy nhiên ở trang này chỉ có ngôn từ tiếng anh và từ ngữ khá hàn lâm nên hơi khó khăn vất vả với người mới mở màn. Nhưng nếu chịu khó mày mò ở đây mình tin bạn sẽ tự gặt hái cho mình được rất nhiều thứ. Ngoài ra, GitHub cũng phân phối những tutorial về git, bạn hoàn toàn có thể tìm hiểu thêm tại đây .

  • Một số website khác khá mê hoặc để học những git commands
    • https://learngitbranching.js.org/
    • https://gitimmersion.com/
    • https://www.atlassian.com/git/tutorials/learn-git-with-bitbucket-cloud
  • Một số Extension hay ho để những bạn vọc vạch trên VS Code đồng thời tăng hiệu suất cao làm việc của mình .

Tổng kết bài viết

Rất mong nhận được các ý kiến phản hồi mang tính chất đóng góp từ phía bạn đọc để bài viết được hoàn thiện hơn!
Nếu được sự ủng hộ của bạn đọc minh dự kiến sẽ viết tiếp phần 2 về những câu lệnh phức tạp hơn và có một demo về quy trình khởi tạo project và cấu hình git để có thể làm việc trong một dự án thực tế! Hẹn sớm gặp lại trong những bài viết tới!

Source: https://mix166.vn
Category: Lao Động

Xổ số miền Bắc