1. Trang chủ
  2. » Giáo Dục - Đào Tạo

ĐỀ TÀI tìm hiểu về git github

12 44 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 12
Dung lượng 692,05 KB

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN – ĐHQG TP.HCM KHOA HỆ THỐNG THÔNG TIN BÀI TẬP TUẦN ĐỀ TÀI: Tìm hiểu Git - Github I Thành viên nhóm: Đào Võ Trường Giang Phan Thanh Bách Nghiêm Thị Cẩm Nhung Phan Phạm Diễm Quỳnh Trần Thị Hồng Minh II Mục lục: Chương 1: Giới thiệu Git, Github giao diện _3 1.A Git gì? _3 1.B Github gì? Chương 2: Các tập lệnh 2.1 Git config _7 2.2 Git init _7 2.3 Git clone 2.4 Git status _ 2.5 Git add _7 2.6 Git commit 2.7 Git push/git pull 2.8 Git branch _7 2.9 Git checkout _7 2.10 Git stash _8 2.11 Git merge 2.12 Git reset _8 2.13 Git remote _8 2.14 Git add Chương 3: Các thao tác Chương 4: Tổng kết 10 Tài liệu tham khảo 12 III Danh sách hình ảnh: IV Nội dung: Chương 1: Giới thiệu Git, Github giao diện _3 Chương 2: Các tập lệnh Chương 3: Các thao tác Chương 4: Tổng kết _10 Tài liệu tham khảo 12 C HƯƠNG 1: GIỚI THIỆU VỀ GIT, GITHUB VÀ GIAO DIỆN CƠ BẢN A Git gì? - - Git là tên gọi một Hệ thống quản lý phiên phân tán (Distributed Version Control System – DVCS) hệ thống quản lý phiên phân tán phổ biến DVCS nghĩa hệ thống giúp máy tính lưu trữ nhiều phiên khác mã nguồn nhân (clone) từ kho chứa mã nguồn (repository), thay đổi vào mã nguồn máy tính ủy thác (commit) rồi đưa lên máy chủ nơi đặt kho chứa Và máy tính khác (nếu họ có quyền truy cập) clone lại mã nguồn từ kho chứa clone lại tập hợp thay đổi máy tính Cơ chế lưu trữ phiên Git tạo “ảnh chụp” (snapshot) tập tin thư mục sau commit, từ đó nó cho phép bạn tái sử dụng lại ảnh chụp mà bạn hiểu phiên Đây lợi Git so với DVCS khác khơng “lưu cứng” liệu mà lưu với dạng snapshot - Version Control System – VCS gì? + VCS viết tắt Version Control System hệ thống kiểm soát phiên phân tán mã nguồn mở Các VCS lưu trữ tất file toàn dự án ghi lại toàn lịch sử thay đổi file Mỗi thay đổi lưu lại thành version (phiên bản) + VCS nghĩa hệ thống giúp lập trình viên lưu trữ nhiều phiên khác mã nguồn nhân (clone) từ kho chứa mã nguồn (repository), thay đổi vào mã nguồn local ủy thác (commit) đưa lên server nơi đặt kho chứa + Và máy tính khác họ có quyền truy cập clone lại mã nguồn từ kho chứa clone lại tập hợp thay đổi máy tính + Lập trình viên xem lại danh sách thay đổi file xem dòng thời gian phiên Mỗi phiên bao gồm: nội dung file bị thay đổi, ngày sửa đổi, người thay đổi ai, lý thay đổi hay tên phiên bản… ▷ Một vài khái niệm Git gì? Kho liệu – Repository - Repository nơi quản lý, lưu trữ tất thông tin cần thiết sửa đổi lịch sử sửa đổi tồn dự án.  Hiện nay, có hai loại repository local repository remote repository.  Snapshot - Cơ chế lưu trữ phiên Git sau lần bạn thực lưu trạng thái tạo ảnh chụp có lưu lại tất nội dung tập tin thư mục thời điểm tham chiếu tới snapshot.  Nếu tập tin khơng có thay đổi để hiệu Git khơng lưu trữ tập tin lại mà tạo liên kết với tập tin gốc tồn trước Sau đó, cần bạn khơi phục sử dụng lại snapshot Đây lợi lưu dạng snapshot giúp Git tiết kiệm không gian lưu trữ vô hiệu quả.  Commit - Commit thao tác báo cho hệ thống biết bạn có muốn lưu lại trạng thái hành hay không ghi nhận lại lịch sử xử lý thực như: xóa, cập nhật, thêm file thư mục repository.  Clone - Nếu bạn cần có kho chứa Git có sẵn, dự án mà bạn tham gia cần thực Clone Đây chỉnh điểm giúp Git khác biệt so với số hệ thống quản lý phiên mã nguồn khác - Bởi vì, Clone tạo gần tất repository mà máy chủ lưu trữ Bạn có tất lịch sử xảy hệ thống quay lại, undo lại thời điểm commit cách dễ dàng.  Push - Lệnh Push thường sử dụng để đưa nội dung kho lưu trữ cục lên server cách bạn chuyển giao commit từ kho lưu trữ cục lên server.  Fetch - Lệnh cho phép truy cập vào Repository server kéo toàn liệu mà bạn chưa có từ Repository server về.  Full - Lệnh lấy toàn liệu Repository server gộp vào branch mà bạn làm việc.  Branch - Nhánh khái niệm hay Git với nhánh bạn tách riêng tính dự án thử nghiệm tính dễ dàng Hoặc bạn sử dụng nhánh để khắc phục hoàn chỉnh lỗi dự án.  Master - Master nhánh tất Repository bạn bao gồm thay đổi commit thực gần nhất.  Tags - Tags cung cấp cách để theo dõi commit quan trọng Nó đóng vai trị trỏ tags thích lưu trữ dạng đầy đủ Upstream - Upstream thường đề cập đến nơi bạn pusch thay đổi thường nhánh chính.  Origin - Origin phiên mặc định repository đóng vai trị bí danh hệ thống để liên lạc với nhánh B Github gì? - GitHub là hệ thống quản lý dự án phiên code, hoạt động giống mạng xã hội cho lập trình viên Các lập trình viên clone lại mã nguồn từ repository và Github dịch vụ máy chủ repository cơng cộng, người tạo tài khoản để tạo kho chứa riêng để làm việc - GitHub có phiên bản: miễn phí trả phí Với phiên có phí thường doanh nghiệp sử dụng để tăng khả quản lý team phân quyền bảo mật dự án Cịn lại phần lớn sử dụng Github với tài khoản miễn phí để lưu trữ source code - Github cung cấp tính social networking feeds, followers, network graph để developer học hỏi kinh nghiệm thông qua lịch sử commit - Nếu comment để mơ tả giải thích đoạn code Thì với Github, commit message phần mơ tả hành động mà bạn thực source code - Github trở thành yếu tố có sức ảnh hưởng lớn cộng động nguồn mở Cùng với Linkedin, Github coi thay cho CV bạn Các nhà tuyển dụng hay tham khảo Github profile để hiểu lực coding ứng viên - Giờ đây, kỹ sử dụng git Github từ chỗ ưu thích sang bắt buộc phải có ứng viên xin việc Tính Github GitHub được coi mạng xã hội dành cho lập trình viên lớn dễ dùng với tính cốt lõi như: Wiki, issue, thống kê, đổi tên project, project đặt vào namespace user Watch project: theo dõi hoạt động project người khác Xem trình người ta phát triển phầm mềm nào, project phát triển Follow user: theo dõi hoạt động người khác Có cách tiếp cận GitHub: Tạo project riêng Contribute cho project có sẵn: fork project có sẵn người khác, sửa đổi, sau đề nghị họ cập nhật sửa đổi (tạo pull request) C HƯƠNG 2: CÁC TẬP LỆNH CƠ BẢN CÁC LỆNH GIT CƠ BẢN 1) Git config: - Tác dụng: Để set user name email bạn main configuration file - Cách dùng: Để kiểm tra tên kiểu email cấu hình dùng git config    global user.name và git config   global user.email Để set email tên mới git config global user.name = “Hải Nguyễn”  git config    global user.email = “hainguyen@gmail.com” Git init: - Tác dụng: Khởi tạo git repository project có - Cách dùng: git init trong thư mục gốc dự án Git clone: - Tác dụng: Copy git repository từ remote source - Cách dùng: git clone  Git status: - Tác dụng: Để check trạng thái file bạn thay đổi thư mục làm việc VD: Tất thay đổi cuối từ lần commit cuối - Cách dùng: git status trong thư mục làm việc Git add: - Tác dụng: Thêm thay đổi đến stage/index thư mục làm việc - Cách dùng: git add Git commit: - Tác dụng: commit nghĩa action để Git lưu lại snapshot thay đổi thư mục làm việc Và tập tin, thư mục thay đổi phải nằm Staging Area Mỗi lần commit lưu lại lịch sử chỉnh sửa code kèm theo tên địa email người commit Ngoài Git bạn khơi phục lại tập tin lịch sử commit để chia cho branch khác, bạn dễ dàng khôi phục lại thay đổi trước - Cách dùng: git commit -m Git push/git pull: - Tác dụng: Push Pull thay đổi đến remote Nếu bạn added committed thay đổi bạn muốn đẩy lên remote bạn update bạn apply tất thay đổi code - Cách dùng: git pull    and git push   Git branch: - Tác dụng: liệt kê tất branch (nhánh) - Cách dùng: git branch hoặc git branch -a Git checkout: - Tác dụng: Chuyển sang branch khác - Cách dùng: git checkout  hoặc ** _ git checkout -b  nếu bạn muốn tạo chuyển sang chi nhánh 10 Git stash: - Tác dụng: Lưu thay đổi mà bạn không muốn commit - Cách dùng: git stash trong thư mục làm việc bạn 11 Git merge: - Tác dụng: Merge branch lại với - Cách dùng: Chuyển tới branch bạn muốn merge rồi dùng git merge  12 Git reset: - Tác dụng: Bạn đưa tập tin vào Staging Area bạn muốn loại bỏ khỏi để bị commit theo - Cách dùng: git reset HEAD tên_file 13 Git remote: - Tác dụng: Để check remote/source bạn có add thêm remote - Cách dùng: git remote để kiểm tra liệt kê Và git remote add  để thêm 14 Git add: - Tác dụng: Để đưa tập tin vào Staging Area - Cách dùng: git add tên_file muốn thêm hết file thư mục git add all C HƯƠNG 3: CÁC THAO TÁC CƠ BẢN Muốn tạo repository? $ git init - Trong thư mục muốn tạo repository thực lệnh init Muốn đăng ký file thư mục Index? $ git add - Filepattern ngồi cách định tên file cách trực tiếp định cách đính kèm thẻ đại diện kiểu "*.txt" Khi mà định "." bao hàm ln thư mục phụ (sub directory) bên đăng ký index cho tất file - Khi thêm lựa chọn -p đăng ký thay đổi phận file muốn chỉnh sửa Và thêm lựa chọn -i lựa chọn mang tính tương tác file đăng ký Index Muốn commit file thêm Index? $ git commit - Khi thêm lựa chọn -a chuỗi hành động kiểm tra file bị thay đổi (trừ trường hợp thêm file), thêm index sau commit thực lệnh - Khi thêm lựa chọn -m định nội dung giải thích commit thực commit Trường hợp khơng có thêm vào lựa chọn -m editor để chỉnh sửa nội dung giải thích commit khởi động Muốn hiển thị danh sách file chỉnh sửa? $ git status - Khi thêm lựa chọn -s thực việc khơng hiển thị nội dung giải thích - Thêm thêm lựa chọn -b khơng hiển thị nội dung giải thích thực việc hiển thị tên nhánh Muốn xem phần sai khác file chỉnh sửa? $ git diff - Tình trạng khơng có định lựa chọn hiển thị phần sai khác index với công việc (working tree) - Khi thêm lựa chọn -cached hiển thị phần sai khác HEAD với index - Và định commit HEAD hiển thị phần sai khác HEAD định với công việc (working tree) Muốn xem commit log? $ git log - Lệnh log mặc định hiển thị danh sách commit branch - Trường hợp muốn xem commit log file đặc định định tên file Muốn xác nhận chi tiết commit? $ git show - Tham số lệnh show định HEAD commit tham chiếu lệnh log Muốn di chuyển, thay đổi tên thư mục file? $ git mv Muốn xóa file? $ git rm Muốn xóa file khơng phải đối tượng quản lý? $ git clean - Khi thêm lựa chọn -n xác nhận file bị xóa Thêm lựa chọn -f xóa file thực tế - Mặc định file định gitignore khơng phải đối tượng xóa, thêm lựa chọn -x cho dù file định gitignore đối tượng xóa Muốn phục hồi lại file ban đầu sau chỉnh sửa Index? $ git checkout Muốn bỏ file đăng ký Index? $ git reset HEAD Muốn đăng ký tất Index file có commit trước đó? $ git add -u C HƯƠNG 4: TỔNG KẾT  GitHub mang lại lợi ích cho lập trình viên?     - GitHub trở thành dịch vụ máy chủ lưu trữ mã nguồn lập trình số giới Nó sở hữu 25 triệu người dùng, 80 triệu mã góp phần xây dựng lớn cộng đồng công nghệ thông tin - Để đạt số đầy ấn tượng trên, GitHub mang lại vơ vàn lợi ích dành cho lập trình viên như: Cải thiện kỹ coding skill, tracking bug: Rèn luyện kỹ ý tưởng khơng tồi Developer, sở hữu vơ vàn open source, project, contributor mang đến cho người học hàng tá điều hay, giúp trau dồi khả thân nhiều Cung cấp kho liệu hữu ích: GitHub hỗ trợ code search open source projects dựa theo technology pattern mà người dùng yêu thích Khẳng định vị riêng Developer: Mặc dù chiếm vị trí nhỏ CV, lại "vũ khí tối tân" giúp nhà tuyển dụng phân biệt lập trình viên thực thụ với người chuyên môn thấp Dễ dàng quản lý kho source code: Lợi ích giúp Developer nhận biết thực commit hỗ trợ họ phát triển source theo nhiều nhánh  Những lợi ích mang lại Git gì? Git giúp bạn giải triệt để nhanh chóng vấn đề như:   Lưu lại phiên khác mã nguồn dự án phần mềm.   Khôi phục lại mã nguồn từ phiên khác.   Hỗ trợ so sánh dễ dàng phiên bản.   Phát vị trí, phần mà người khác chỉnh sửa làm phát sinh lỗi.   Khôi phục lại tập tin bị đi.   Thử nghiệm mở rộng tính dự án cách dễ dàng mà khơng làm ảnh hưởng đến phiên chính.   Hỗ trợ phối hợp thực dự án nhóm mang lại nhiều hiệu hơn.   Git đảm bảo khơng có xung đột code lập trình viên nhóm.   Chỉ cần có clone mã nguồn từ kho chứa clone phiên thay đổi từ kho chứa nhánh từ kho chứa lập trình viên bắt tay vào làm việc lúc nơi.  TÀI LIỆU THAM KHẢO - Đối với sách: [1] D Thomas and A Hunt, The Pragmatic Programmer, 20th Anniversary Edition: your journey to mastery Addison-Wesley Professional, 2019 [2] R C Martin, The Clean Coder: A Code Of Conduct for Professional Programmers Prentice Hall, 2011 - Đối với trang web: [1] https://www.thanhlongdev.com/huong-dan-su-dung-git-va-cach-push-project-len-github/? fbclid=IwAR1fABC1XesMIOr2wTbhhOpqWWlNXlwMI3aOZf8XhJ0BoePU_E_AOfeRBeo [2] https://vntalking.com/github-la-gi-cach-su-dung-github.html? fbclid=IwAR0uvnslW9HFVPFnc_kzPFRrVz6YRXZIgODkhz19jXdOpfqvBEOSnqv2Hms _HẾT _ ... profile để hiểu lực coding ứng viên - Giờ đây, kỹ sử dụng git Github từ chỗ ưu thích sang bắt buộc phải có ứng viên xin việc Tính Github GitHub được coi mạng xã hội dành cho lập trình viên lớn... https://www.thanhlongdev.com/huong-dan-su-dung -git- va-cach-push-project-len -github/ ? fbclid=IwAR1fABC1XesMIOr2wTbhhOpqWWlNXlwMI3aOZf8XhJ0BoePU_E_AOfeRBeo [2] https://vntalking.com /github- la-gi-cach-su-dung -github. html? fbclid=IwAR0uvnslW9HFVPFnc_kzPFRrVz6YRXZIgODkhz19jXdOpfqvBEOSnqv2Hms... mà bạn thực source code - Github trở thành yếu tố có sức ảnh hưởng lớn cộng động nguồn mở Cùng với Linkedin, Github coi thay cho CV bạn Các nhà tuyển dụng hay tham khảo Github profile để hiểu lực

Ngày đăng: 06/10/2021, 15:07

TỪ KHÓA LIÊN QUAN

w