Slide 1

Slide 1 text

GIT DÀNH CHO NGƯỜI MỚI BẮT ĐẦU Hà Nội, ngày 12 – 06 – 2014

Slide 2

Slide 2 text

Git là gì, Tại sao sử dụng Git ?  Git là một phần mềm quản lý source như SVN dùng để quản lý và kiểm tra các phiên bản mã nguồn khác nhau trong quá trình phát triển mã nguồn.  Nó có rất nhiều điểm hay: phân tán, không cần kết nối với Central Repository khi commit  Đặc biệt nó đã thay đổi cách các lập trình viên chia tách và nhập các nhánh phần mềm. Trong khi với svn, việc này luôn là ác mộng vì các xung đột trong quá trình tách/nhập, còn với Git việc này quá dễ dàng.

Slide 3

Slide 3 text

Đặc tính phi tập trung nhưng mang tính tập trung của Git

Slide 4

Slide 4 text

Nguyên tắc quản lý code trên Git Nhánh Master, nhánh này lưu trữ trên đó là phiên bản chính thức mới nhất đang được phát hành. Nhánh Develop là nhánh được cập nhật liên tục các đóng góp của tất cả mọi người ở mọi thời điểm. Nhánh này sẽ tiếp nhận các đóng góp của mọi người gửi đến thông qua việc tiếp nhận Pull Request cũng như tiếp nhận việc nhập các nhánh khác vào. Khi nhánh Develop đạt độ chín mùi, nó sẽ được nhập vào nhánh Master đồng thời được dán nhãn phiên bản.

Slide 5

Slide 5 text

Cấu trúc tổ chức kho code

Slide 6

Slide 6 text

Cài đặt  Tải git về cho OSX: https://code.google.com/p/git-osx-installer/downloads/list?can=3  Tải git về cho Windows http://msysgit.github.io/  Tải git về cho Linux http://git-scm.com/book/en/Getting-Started-Installing-Git

Slide 7

Slide 7 text

Tạo một repository mới Để tạo 1 repository mới, bạn hãy mở cửa sổ lệnh và gõ dòng lệnh sau: git init

Slide 8

Slide 8 text

Cấu hình thông của bạn Hai thông tin bắt buộc mà bạn luôn luôn phải khai báo đó là tên và địa chỉ email. Mỗi commit của bạn đều sẽ sử dụng thông tin này. Để cấu hình, nhập: git config --global user.name "Vu Thao" git config --global user.email [email protected]

Slide 9

Slide 9 text

Sao chép (clone) một repository Để clone 1 repository có sẵn ở trên máy cục bộ, bạn hãy sử dụng dòng lệnh sau: Nếu repository đó ở máy chủ khác thì bạn hãy gõ dòng lệnh sau: git clone /đường-dẫn-đến/repository/ git clone tênusername@địachỉmáychủ:/đường-dẫn- đến/repository

Slide 10

Slide 10 text

Quy trình làm việc

Slide 11

Slide 11 text

Thêm (add) & commit Bạn có thể đề xuất thay đổi (thêm nó vào chỉ mục Index) bằng cách Đây là bước đầu tiên trong quy trình git cơ bản. Để thật sự commit những thay đổi, bạn sử dụng Bây giờ thì tập tin đã được commit đến HEAD, nhưng chưa phải trên thư mục remote. git add git add * git commit -m "Ghi chú Commit"

Slide 12

Slide 12 text

Nhánh Các nhánh (branches) được dùng để phát triển tính năng tách riêng ra từ những nhánh khác. Nhánh master là nhánh "mặc định". Sử dụng các nhánh khác khi đang trong giai đoạn phát triển và merge trở lại nhánh master khi đã hoàn tất.

Slide 13

Slide 13 text

Đ y (push) các thay đ i ẩ ổ Nếu bạn chưa clone một repository hiện có và muốn kết nối repository của bạn đến máy chủ remote, bạn phải thêm nó với Bây giờ bạn đã có thể đẩy các thay đổi của mình vào máy chủ đã chọn git remote add origin

Slide 14

Slide 14 text

Nhánh Tạo một nhánh mới và đặt tên là "feature_x" và chuyển qua nhánh đó (từ master) bằng cách git checkout -b feature_x Trở lại nhánh master: git checkout master Xóa nhánh feature_x đó lần nữa git branch -d feature_x Đẩy nhánh đó đến remote repository git push origin

Slide 15

Slide 15 text

Cập nhật & trộn (update & merge) Để cập nhật repository cục bộ của bạn và commit mới nhất, thực thi Để trộn một nhánh khác vào nhánh đang hoạt động (vd: master), sử dụng git checkout -b feature_x git merge

Slide 16

Slide 16 text

Gắn nhãn (tagging) Bạn tạo tag mới tên là1.0.0 bằng cách chuỗi 1b2e1d63ff là 10 ký tự đầu tiên của mã commit (commit id) mà bạn muốn tham chiếu đến bằng nhãn của bạn. Bạn có thể lấy mã commit với lệnh git tag 1.0.0 1b2e1d63ff git log

Slide 17

Slide 17 text

Thay thế các thay đổi cục bộ Trong trường hợp bạn làm sai điều gì đó, bạn có thể thay thế các thay đổi cục bộ bằng lệnh Nếu bạn muốn hủy tất cả thay đổi và commit cục bộ, lấy về (fetch) lịch sử gần đây nhất từ máy chủ và trỏ nhánh master cục bộ vào nó như sau: git reset HEAD -- git checkout -- git fetch origin git reset --hard origin/master

Slide 18

Slide 18 text

FOOTER Tài liệu tham khảo Tại sao sử dụng Git http://wiki.nukeviet.vn/programming:vcs:git Nguyên tắc quản lý kho code http://wiki.nukeviet.vn/programming:github_rule Ebook git Pro http://git-scm.com/book/vi Sổ tay Git http://rogerdudler.github.io/git-guide/index.vi.html GitHub https://help.github.com/

Slide 19

Slide 19 text

FOOTER Tài liệu tham khảo Chuyển đổi kho code từ svn sang git http://nukeviet.vn/vi/news/Cong-dong-nguon-mo/Chuyen-doi-kho-cod e-google-code-tu-svn-sang-git-va-dua-len-github-135/ Hướng dẫn merge và xử lý lỗi conflic Pull Request trên Git http://wiki.nukeviet.vn/programming:vcs:git#hu%E1%BB%9Bng _d%E1%BA%ABn_merge_va_x%E1%BB%AD_ly_l%E1%BB%97i_conflic ull_request_tren_git

Slide 20

Slide 20 text

GIT DÀNH CHO NGƯỜI MỚI BẮT ĐẦU Vũ Văn Th o ả Email: [email protected] NukeViet Administrator FB: facebook.com/nukeviet Fanpage: facebook.com/nukevietcms Twitter: twitter.com/nukeviet