$30 off During Our Annual Pro Sale. View Details »

Git and GitHub for beginners

Git and GitHub for beginners

Presented at Openroad technical workshop June 14th, 2014.

Anh Tuan TRUONG

June 14, 2014
Tweet

More Decks by Anh Tuan TRUONG

Other Decks in Technology

Transcript

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

    View Slide

  2. 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.

    View Slide

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

    View Slide

  4. 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.

    View Slide

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

    View Slide

  6. 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

    View Slide

  7. 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

    View Slide

  8. 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]

    View Slide

  9. 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

    View Slide

  10. Quy trình làm việc

    View Slide

  11. 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"

    View Slide

  12. 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.

    View Slide

  13. Đ 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

    View Slide

  14. 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

    View Slide

  15. 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

    View Slide

  16. 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

    View Slide

  17. 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

    View Slide

  18. 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/

    View Slide

  19. 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

    View Slide

  20. 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

    View Slide