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.
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.
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
2. git clone
4. git add
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
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.
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
Trong một số trường hợp có dùng dùng
Ví dụ, tại commit C ở nhánh master, bạn tách ra 1 nhánh mới
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!
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.
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?
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 changesNote: 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ệnhgit 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 repository7. 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 fetch
và git 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 conflict8. 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 GA1---B1---C1 feature-1 / A---B---C---D---E---F---G masterKhi đó, 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 masterKhi đó, 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 --skipvà có thể hủy bỏ ngay lập tức việc rebase bằng
$ git rebase --abortKhi 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ệnhgit 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 on local $ 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
$ 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
- Git docs: https://git-scm.com/docs
Advertisement