Hexo

Đây là bài mình tổng hợp một số kiến thức cơ bản về Git, giúp bạn có thể hình dung được cách hoạt động git và sử dụng được một số tính năng cơ bản. Happy Time!

I. Git là gì ?

Git là một “Hệ thống quản lý phiên bản phân tán“. Nói đơn giản nó giúp bạn lưu lại phiên bản của các lần thay đổi mã nguồn và có thể dễ dàng tìm lại mà
không cần phải copy mã nguồn và lưu ở đâu đó. Một người khác cũng có thể xem các thay đổi này của bạn ở từng phiên bản, họ có thể đối chiếu sự thay đổi theo từng phiên bản của
bạn và gộp vào phiên bản của họ. Cuối cùng tất cả các phiên bản đều được đưa lên một kho chứa mã nguồn.

Chú ý : Git là một mô hình hệ thống. Github,Gitlab,… chỉ là một máy chủ dịch vụ xây dựng theo mô hình git giúp cho người dùng có thể tạo tài khoản và tự quản lý các kho chứa mã nguồn riêng của mình

II. Cài đặt:

Mac: https://git-scm.com/download/mac

Windows: https://git-for-windows.github.io/

Linux: https://git-scm.com/book/en/v2/Getting-Started-Installing-Git

III. Tạo và checkout một repository

  • Để tạo một repositort mới tạo một thư mục mới, mở nó lên và dùng lệnh:

    git init. 
    
  • Để checkout một repo:

    1. Đối với Repo nội bộ:

      git clone /path/to/repository
      
    2. Đối với Remote repo:

      git clone username@host:/path/to/repository      
      

IV. Git Workflow

Hexo

Một repo của git bao gồm 3 khu vực chính:

  • Thư mục đang làm việc (Working directory): Thư mục này lưu trữ các file mã nguồn của bạn.
  • Index (hay Stagging Area): Chứa thông tin các file chuẩn bị được commit
  • Repository: Kho chứa mã nguồn, nơi lưu lại tất cả các phiên bản mã nguồn của bạn

Thông thường git sẽ hoạt động theo luồng như sau:

  1. Bạn sửa file trong thư mục đang làm việc (working directory)
  2. Git sẽ tạo 1 bản snapshot file này và đưa vào mục các file theo dõi (Staging Area)
  3. Bạn thực hiện commit, git sẽ lấy các file trong mục theo dõi và lưu các snapshot của file nó vào thư mục git của bạn

V. Lệnh add và commit :

  • Bạn có thể thêm các file vào mục staging area bằng lệnh add :

    git add <filename>
    

    hoặc

    git add 
    

    để thêm 1 file cụ thể hoặc tất cả vào mục staging area.

  • Lưu các thay đổi vào local repo của bạn

    git commit -m "Commit message"
    

VI. Đẩy thay đổi của bạn lên remote repository

  • Sau khi bạn đã commit xong thay đổi của bạn. Lúc này các thay đổi của bạn được ở mục HEAD (dễ hiểu hơn là phiên bản mới nhất). Bây giờ để đẩy các thay đổi mới nhất lên remote repository dùng lệnh sau
    git push origin master                 

trong đó **master** là nhánh bạn muốn đẩy lên.
  • Nếu local repository của bạn chưa được kết nối với remote server thì dùng lệnh:
git remote add origin <server>

VII. Nhánh (Branch)

Trong git Branch được dùng để tách biệt môi trường làm việc cho developer.

Hexo

Ví dụ: Bạn muốn tạo ra một phiên bản thử nghiệm với môi trường code hiện tại nhưng lại không muốn nó ảnh hưởng tới các file code hiện tại, việc này có thể thực hiện bằng cách clone lại chính repository bạn đang dùng hoặc copy ra một chỗ khác nhưng 2 cách trên đều rất mất công và khó khăn cho việc đồng bộ hóa code.

Để xử lý vấn đề trên Git cung cấp cho ta cơ chế phân nhánh. Nhánh ban đầu khi bạn tạo repository là nhánh master, nhánh này dùng để chứa các code chính trong project

  • Tạo một nhánh: quay lại ví dụ lúc nãy để tạo một bản thử nghiệm bạn muốn mà không làm ảnh hưởng tới các file code hiện tại bạn cần tạo một nhánh mới gọi là develop bằng lệnh:

    git checkout -b develop
    

    lúc này toàn bộ mã nguồn từ nhánh master sẽ được copy sang nhánh develop, mọi thay đổi trên nhánh develop sẽ không ảnh hưởng tới nhánh master và ngược lại.

  • Chuyển nhánh: Để chuyển nhánh ta dùng lệnh

    git checkout <tên nhánh>
    
  • Xóa nhánh: Để xóa một nhánh dùng lệnh sau

    git branch -d <tên nhánh>
    
  • Cập nhật lên remote repository: Để người khác thấy được nhánh của bạn thì phải push nhánh đó lên remote repository bằng lệnh sau

    git push origin <tên nhánh>
    

VIII. Cập nhật và tích hợp (update and merge)

Hexo
  • Pull: Để cập nhật local repository của bạn với lần commit mới nhất trên remote repository dùng lệnh:

    git pull
    

    lệnh này sẽ tự động lấy code mới trên remote về(fetch) và tiến hành trộn(merge_ với local repository của bạn

  • Trộn nhánh: Để trộn một nhánh bất kỳ vào nhánh bạn đang sử dụng dùng lệnh sau

    git merge <tên nhánh>
    

    Chú ý: Trong cả 2 trường hợp trên Git sẽ cố gắng tự merge code của bạn. Tuy nhiên đôi khi sẽ có xung đột(conflict) mà Git không thể trộn code được. Lúc này bạn phải xử lý các xung đột thủ công bằng cách chỉnh sửa các tập tin được thông báo.

IX. Nhãn (Tag)

Mỗi khi phát hành một phiên bản của phần mềm ta nên tạo nhãn (tag) cho phiên bản đó. Để tạo 1 tag mới ta dùng lệnh sau:

git tag <tên phiên bản>  <checksum>
  • ở đây thường là mã commit của bạn hoặc 1 đoạn trong mã commit.

Bình luận và chia sẻ

Hexo

Chào các bạn, thông thường để tạo một Blog cá nhân thì ta có rất nhiều lựa chọn như BlogSpot hay WordPress. Tuy nhiên trong bài này mình sẽ HD các bạn tạo một Blog cá nhân siêu đơn giản, nhanh chóng và đi kèm với các công cụ hỗ trợ tuyệt vời.

Bắt đầu nào

Cài đặt Hexo

Trước khi cài đặt Hexo bạn cần phải cài đặt NodeJS và npm trước. Bạn có thể download bản mới nhất tại https://nodejs.org/en/

Sau khi cài xong bạn mở CMD lên và gõ lệnh sau để cài đặt Hexo :

npm install hexo-cli -g 

Tạo Blog của bạn

Sau khi cài đặt Hexo xong, để tạo Blog gõ lệnh sau vào termial hoặc cmd trên máy bạn :

hexo init <blogname>  

bạn nhớ thay blogname bằng tên thư mục mà bạn muốn nhé. Đây là thư mục chứa các file trong blog của bạn.

Bạn có thể xem demo Blog của mình trên máy bằng cách sử dụng công cụ hexo-server, bạn thực hiện 2 lệnh sau :

npm install 
hexo server

sau đó vào trình duyệt nhập: localhost:4000 để kiểm tra kết quả.

Tìm và cài đặt theme

Nếu bạn muốn thay đổi theme mặc định của hexo. Bạn có thể vào đây để lựa chọn theme phù hợp với mình. Ở đây mình ví dụ với theme tranquipeak nhé . Từ thư mục gốc của Blog bạn gõ lệnh sau để download theme :

git clone https://github.com/LouisBarranqueiro/hexo-theme-tranquilpeak.git

để đổi theme bạn cần tìm file _config.yml trong thư mục Blog của ban. Mở lên tìm dòng chứa thuộc tính theme và sửa lại thành tranquilpeak.

Đăng bài viết

Để bắt đầu viết bài bạn sử dụng câu lệnh sau:

hexo new post "ten_bai_viet" 

lúc này trong thư mục source/_post một file ten_bai_viet.md sẽ được tạo ra. Bạn có thể sử dụng bất cứ trình editor nào để viết bài miễn tuân thủ theo cấu trúc markdown là được . Thông tin chi tiết hơn có thể tìm thấy ở đây.

Sử dụng hosting miễn phí cho Blog của bạn

Bạn có thể sử dụng github để host miễn phí cho Blog của mình sau đó mọi người có thể truy cập Blog của bạn qua địa chỉ:
https://username.github.io
hoặc
https://username.github.io/repository-name
với username là tài khoản github của bạn. Trước hết bạn hãy đăng nhập vào github và tạo 1 repo nhé. Sau đó mở file _config.yml ra sửa lại thông tin deploy như sau :

1
2
3
4
deploy:
type: git
repo: <thay bằng repo của ban>
branch: master

Tạo và Deploy Blog

Bước cuối cùng là tạo ra các static file và deploy Blog của bạn lên Github. Từ thư mục gốc của Blog bạn gõ lệnh sau vào cmd hay terminal:

1
hexo d -g

Chú ý: Nếu bạn sử dụng SSH thì bạn phải tạo 1 SSH key và thêm vào GitHub thì mới deploy được nếu không sẽ bị lỗi. Bạn có thể xem hướng dẫn tạo SSH key tại đây

Bình luận và chia sẻ

  • page 1 of 1
Ảnh tác giả

Mây và Bão

Chào mừng các bạn đến với Blog của mình. Chúc các bạn vui vẻ!


Android Developer


VietNam