Đừng bỏ qua 10 câu lệnh GIT này nếu bạn là developer
Git
61
White

Julian Dong viết ngày 19/03/2020

Xin chào mọi người, bài viết hôm nay sẽ liên quan đến một công cụ quản lý source code vô cùng quen thuộc đối với developer hiện nay đó chính là Git.

Link của bài viết gốc tại đây

Git là một công cụ quản lý mã nguồn (source version control) vô cùng quen thuộc và phổ biến trong giới phần mềm. Tuy nhiên, để nắm vững và trở thành master của GIT cũng cần có thời gian. Vậy nên hôm nay mình xin giới thiệu 10 câu lệnh GIT cơ bản mà mọi developer đều nên biết.
enter image description here
Lưu ý: Để hiểu rõ được bài viết này, bạn phải có kiến thức cơ bản về git

1. git init

Đây là lệnh để bạn bắt đầu tạo một git repository rỗng tại folder hiện tại. Về căn bản, khi chạy lệnh này, một thư mực .git và các thu mục con liên quan sẽ được tạo ra tai thư mục hiện tại.

$ cd path/to/your/selected/folder
$ git init
$ ls -a # you will see a .git folder added in your folder

2. git clone <url>

git clone cũng là một lệnh rất thông dụng để bắt đầu với git. Khác với git init là khởi tạo git repository cho thư mục hiện tại thì git clone sẽ clone 1 repository đã được tạo sẵn về thư mục của bạn. Repository này sẽ được xác định ở tham số của git clone. Ví dụ thông thường nhất bạn hay gặp là kéo về máy 1 repo sẵn trên github/bitbucket/gitlab

# git clone <git-url>
$ cd path/to/your/selected/folder
$ git clone https://github.com/dongtanhuy/react-redux-demo.git
# new repository is cloned to your folder

3. git status

Lệnh này cho phép chúng ta nắm được những thông tin cơ bản của nhánh hiện tại như:

  • Nhánh có đang up-to-date
  • Có gì cần pull/push/ commit hay không?
  • Có file nào đã staged, unstaged hay untracked?
  • Có file mới được tạo/sửa/xóa hay không?

enter image description here

4. git add <files>

Khi chúng ta thực hiện thay đổi trong repository (thêm/xóa/sửa file) những thay đổi này chỉ được thực hiện ở local. Đế thêm những thay đổi này vào repository, chúng ta cần dùng lệnh git add

$ git add index.html # add a selected file
$ git add -A # add all files changes

Note: git add không làm thay đổi repository cho tới khi ta commit

5. git commit

Có lẽ đây là lệnh được dùng nhiều nhất trong quá trình sử dụng git.

Khi chúng ta hoàn thành 1 task hoặc xử lý xong 1 issue nào đó, chúng ta cần lưu lại những gì mình đã làm. git commit có tác dụng ghi thay đổi này vào repository. Điều này giống như chúng ta tạo ra 1 checkpoint trong quá trình làm việc và có thể quay lại check point này bất cứ lúc nào.

Chúng ta cũng cần một message ngắn để mô tả hoặc giải thích những gì chúng ta commit

$ git commit -m "create login screen"

Note: git commit chỉ thay đổi repository ở local và chỉ lưu những file chúng ta đã thêm từ lệnh git add

6. git push

Sau khi commit những thay đổi, repository đã được cập nhật nhưng chỉ ở local, chúng ta cần gửi những thay đổi này lên remote server. Việc này sẽ được thực hiện bởi lệnh git push

$ git push <remote> # upload your commit to remote repository
# or
$ git push --set-upstream <remote> <name-of-your-branch>
# use above command if your branch is newly created

Note: git push chỉ upload những gì bạn đã commit lên remote repository. Nếu bạn đang có 2 file đã thay đổi, 1 file A đã commit và file B chưa commit thì khi chạy lệnh push, chỉ có file A cập nhật lên repository

7. git pull

git pull có tác dụng cập nhật những thay đổi trên remote repository về local. Nó là sự kết hợp của 2 lệnh git fetchgit merge. Cụ thể là khi pull, chúng ta cập nhật từ remote repository (git fetch) và đồng thời apply những thay đổi mới nhất vào local (git merge)

$ git pull <remote>

Đôi khi dùng git pull có thể dẫn đến một số xung đột (conflict) trong code. Chúng ta buộc phải giải quyết (resolve) thủ công.
Trong một số trường hợp có dùng dùng git pull --rebase để giải quyết conflict

8. git rebase

git rebase dùng để apply lại những commit từ nhánh hiện tại lên một nhánh khác.
Ví dụ, tại commit C ở nhánh master, bạn tách ra 1 nhánh mới feature-1 để thực hiện feature 1. Sau khi thực hiện feature 1 xong thì có 3 commit mới là A1, B1, C1, đồng thời trong lúc đó nhánh master cũng được cập nhật từ commit D đến G

          A1---B1---C1 feature-1
         /
A---B---C---D---E---F---G master

Khi đó, bạn cần thực hiện rebase để nhánh feature-1 của bạn có cả những cập nhật (D đến G) từ master

# on feature-1 branch
$ git rebase master

Khi đó, những commit từ D đến G sẽ lần lượt và theo thứ tự được apply vào nhánh feature-1 của bạn. Trong quá trình này, có thể xảy ra conflict và bạn phải resolve bằng tay. Mỗi lần resolve conflict xong bạn chạy lệnh

$ git rebase --continue

để tiếp tục quá trình apply các commit. Bạn cũng có thể bỏ quả việc apply 1 commit nào đó trong quá trình rebase bằng

$ git rebase --skip

và có thể kết thúc ngay lập tức việc rebase bằng

$ git rebase --abort

Khi việc rebase kết thúc thành công, khi đó ta sẽ được kết quả như sau:

                          A1---B1---C1 feature-1
                         /
A---B---C---D---E---F---G master

Lúc này, khi merge nhánh feature-1 vào master sẽ cực kì dễ dàng và bạn đã có toàn bộ những cập nhật từ khi bạn tách ra làm feature 1.

9. git branch

Lệnh git branch được dùng để chúng ta thao tác với branch như tạo mới branch, xóa branch hoặc list ra các branch hiện có

# List all branches
$ git branch -l
# Delete selected branch
$ git branch -d <branch-name>
# Create a new branch
$ git branch <branch-name>

10. git checkout

git checkout cũng là một trong những lệnh được dùng nhiều nhất. Để làm việc với branch, chúng ta cần switch đến branch đó, vì vậy chúng ta cần dùng git checkout để chuyển qua branch cần thiết, đồng thời có thể kiểm tra files và commit.

$ git checkout <branch-name>

Để sử dụng được git checkout chúng ta cần đảm bảo 2 điều sau

  • Nhánh mà chúng ta checkout tới phải tồn tại trong repository
  • Những thay đổi trong nhánh hiện tại phải được commit hoặc stage trước khi ta switch branch

Trong trường ta vừa muốn tạo nhánh mới rồi checkout qua nhánh đó ta có thể dùng shorthand -b

$ git checkout -b <branch-name>
# It will create a new branch with given name and switch to it at the same time

Kết

Qua bài viết trên mình đã giới thiệu cho cách sử dụng của 10 lệnh git cơ bản thường hay dùng trong quá trình phát triển phần mềm. Để sử dụng thành thạo git, các bạn cần có thời gian thực hành nhiều cùng như tìm hiểu thêm nhiều lệnh khác ở tài liệu chính thức của git ở phần tham khảo.
Nếu bài viết hay hãy chia sẻ cho mọi người. Nếu có ý kiến đóng góp, đừng ngần ngại để lại comment cho mình nhé.
Thanks!

Reference

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

Julian Dong

5 bài viết.
18 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
24 6
Giới thiệu chung Devdocs là một tài liệu rất hữu ích cho lập trình viên dùng để tra cứu các API của các ngôn ngữ lập trình hay các framework cũng ...
Julian Dong viết hơn 4 năm trước
24 6
White
3 0
Hello, bài viết hôm nay mình sẽ giới thiệu đến mọi người một khái niệm của React được giới thiệu trong phiên bản 16.6 đó chính là React.memo. (Ảnh...
Julian Dong viết 28 ngày trước
3 0
White
1 0
Hôm nay gặp một bug này thấy rất hay nên muốn ghi lại và chia sẻ cho mọi người Số là mình làm app 1 form đăng nhập bằng email và password. Ban đầu...
Julian Dong viết hơn 1 năm trước
1 0
Bài viết liên quan
White
2 0
Hôm nay group review một cái tài liệu về version control với mấy đồng nghiệp, một người bạn bảo: Cái đó có gì đâu mà ông viết có vẻ khó khăn vậy,...
Long Nguyễn Xuân viết hơn 1 năm trước
2 0
White
12 0
Làm việc với git submodule (Ảnh) Đôi lúc ta cần phải sử dụng các repo khác như là một module của dự án hiện tại, nhưng ta lại muốn quản lý nó riê...
Tân Nguyễn viết hơn 1 năm trước
12 0
White
53 9
Tôi xin tổng hợp các cách dùng git stash tôi hay sử dụng Lưu lại thay đổi Git stash được sử dụng khi muốn lưu lại các thay đổi chưa commit, thườ...
BB viết gần 5 năm trước
53 9
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
5 bài viết.
18 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!