Tải bản đầy đủ (.docx) (15 trang)

tìm hiểu về GIT,GITHUB

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (541.11 KB, 15 trang )

1. GIT,GITHUB
1.1. Khái niệm
Git là tên gọi của một Hệ thống quản lý phiên bản phân
tán (Distributed Version Control System – DVCS) là một trong
những hệ thống quản lý phiên bản phân tán phổ biến nhất hiện
nay. DVCS nghĩa là hệ thống giúp mỗi máy tính có thể lưu trữ
nhiều phiên bản khác nhau của một mã nguồn được nhân bản
(clone) từ một kho chứa mã nguồn (repository), mỗi thay đổi
vào mã nguồn trên máy tính sẽ có thể ủy thác (commit) rồi đưa
lên máy chủ nơi đặt kho chứa chính. Và một máy tính khác (nếu
họ có quyền truy cập) cũng có thể clone lại mã nguồn từ kho
chứa hoặc clone lại một tập hợp các thay đổi mới nhất trên máy
tính kia. Trong Git, thư mục làm việc trên máy tính gọi
là Working Tree.
Các máy tính có thể clone lại mã nguồn từ một
repository và Github

chính



một

dịch

vụ

máy

chủ


repository cơng cộng, mỗi người có thể tạo tài khoản trên đó để
tạo ra các kho chứa của riêng mình để có thể làm việc.
1.2. Làm việc với GIT,GITHUB
Làm việc với GitHub nói riêng hay hệ thống GIT nói chung
có 2 workflow chính là local workflow và server workflow.Bạn có
thể làm mọi chuyện thay đổi source code ở local, sau khi đã
thay đổi xong, bạn sẽ commit nhưng thay đổi đó lên server và
bản lên server phải là bản hồn chỉnh một tính năng nào đó,
hoặc fix bug xong, test xong hoặc ít nhất bản đó phải chạy
được. Khơng được commit code dở dang, chưa qua test lên
repository server sẽ làm ảnh hưởng đến các thành viên khác,
ngược lại bạn có thể làm điều đó ở repository local.Mở rộng: từ
repository của github ta có thể theo phương thức của Git tạo
bản build cho production site (trên đây cũng là một repository
server) bằng cách push thay đổi (đã qua test kỹ càng) lên nó.


Khi tương tác với repository server (cập nhật hay thay đổi)
GITHUB địi hỏi mã chứng nhận "Bạn là ai" thơng qua so sánh
SSH key ở local của bạn và SSH key trên server tương ứng với
account mà bạn đã đăng ký với GITHUB trước đó. 1)Làm việc
với repository ở local: với 2 command thường dùng là git add và
git commit. git add: add file đã thay đổi vào stage git commit:
commit các file đã add vào stage lên repository ở local Ngoài ra
bạn xem một số command khác. 2) Làm việc với repository ở
server github:cuối cùng khi có một bản ổn định và hồn tất (có
thơng qua test) ta sẽ quyết định cập nhật nó lên repository
server với: -push: push thay đổi từ repository local lên
repository server -fetch: cập nhật thay đổi từ repository server
về repository local -pull/rebase: sao chép source code từ server

về local workspace (tương đương checkout của SVN).
2. Tạo nơi chứa một dự án ví dụ (thư mục với các files):
2.1. Mô tả server lưu trữ
- Bitbucket là dịch vụ web hỗ trợ quản lý phiên bản phân tán
cho cả Git và Mercurial(một hệ thống quản lý phiên bản
phân tán khác). Với Bitbucket và Git thành viên có thể quản
lý các phiên bản (mã nguồn) của các dự án của mình, từ đó
team leader có thể theo dõi và đánh giá tiến độ công việc.
- Server lựa chọn là bitbucket ( do
nhóm làm việc có 5 thành viên nên trên bitbuck cho phép
để project ở chế độ private miễn phí, giúp đảm bảo tính an
tồn hơn cho project của nhóm. Nếu sử dụng Github thì sẽ
được phép không giới hạn số thành viên trong một project,
team nhưng tất cả các repository đều không được đặt ở
chế độ private miễn phí.
- Mã nguồn dự án được quản lý bởi team team_ttn_2017:
/>TTN_GROUP4


- Hiện có 2 repository:
o BaoCao: lưu trữ các bài báo cáo văn bản cho dự án tồn
mơn học
o QLNS: phần lưu trữ quản lý của project Quản lý nhân sự
trong Lab2
- Trong repository có 4 nhánh cấp cho 4 thành viên, các
thành viên chỉ được quyền chỉnh sửa trên các nhánh mà
mình đã được cấp quyền(write). Cịn lại trên các nhánh
khác thì chỉ được phép download mà khơng được chỉnh sửa
và update (trừ admin)


2.2. Bước đầu thiết lập tài khoản, team, branches và cấp
quyền cho các thành viên
- Tạo tài khoản bitbucket tại: />- Tạo Teams làm việc nhóm cùng nhau: lấy tên là
team_ttn_2017


- Tạo repository:

- Tạo các nhánh và cấp quyền cho các thành viên quản lý
các nhánh đó trên từng repository


- Xem các hoạt động gần đây đối với repository và cả dự án


3. Cách lấy dữ liệu từ thư mục dự án trên máy chủ về máy các
thành viên nhóm
- Checkout:
+ Tất cả các thành viên trong nhóm sẽ checkout các dữ
liệu từ trên Repository về máy tính, bao gồm cả người imprt dữ
liệu ban đầu vào SVN Repository.
+ Tại các máy tính của các thành viên, tạo mới
một thư mục rỗng nào đó, và checkout dự
liệu từ SVN Repository về đó. Thư mục này
sẽ là thư mục làm việc của mỗi thành viên
trên máy tính của mình.
+ Dữ liệu đã được lấy về.
- Commit và Update:



+ Checkout là hành động lấy toàn bộ dữ liệu
được chia sẻ trên Repository xuốngmáy địa
phương lần đầu tiên. Sau đó dữ liệu được
sửa đổi tại địa phương. VIệc đưa dữ liệu đã
thay đổi lên Repository được gọi là Commit.
Và việc lấy dự liệu đã thay đổi về là hành
động Update.
+ Bây giờ chúng ta sẽ sửa( hoặc them) file trên
các thư mục rồi Comit lên:
Ví dụ tơi thay đổi file TeamNote.txt và save lại,
khi đó biểu tưởng của file mới được tạo ra
có dấu ?, thơng báo rằng file này mới, và
chưa được quản lý bởi SVN.
Thư mục SVN chứa file có dữ liệu bị sửa đổi cũng
thay đổi biểu tượng.
Để Commit dữ liệu lên SVN Repository, nhấn
phải chuột và file hoặc cả thư mục cần
Commit, chọn SVN Commit.
Check chọn các file cần Commit trên danh sách.
Mặc định Tortoise SVN tự độngvào các file
có sửa đổi.
+ Update:
Thành viên khác trong nhóm có thể Update các
dữ liệu mới nhất từ SVN Repository
Chú ý: khi bạn đang sửa một file tại máy địa
phương. Và trong q trình sửa bạn
khơng muốn một ngừi nào đó trong nhóm
Commit dữ liệu các file lên Repository,
bạn có thể sử dụng chức năng “ Get
Lock” để khóa lại. Sau khi sửa đổi xong,



bạn có thể Commit va sử dụng chức năng
“ Release Lock” để mở khóa.
- Sử dụng phần mềm client:
+ Các phần mềm SVN client có thể chi làm 3 loại chính:
stand-alone clients, desktop-integrated clients và IDE plug-in
clients.
Stand-alone clinets là laoij đứng như mọt ứng dụn đọc lập.
Desktop-intergrated clients là loại được tịch hợp các phần
mềm desktop. Ví dụ như TortoiseSVN tích hợp vào trong
WInddowwz File Explorer sẽ thấy các chức năng của SVN client.
IDE plug-in clients là loại tích hợp vào các mơi trường lập
trình
+ Danh sách một số SVN Client:
Subversive: một dạng plug-in trong Eclipse.
AnkhSVN: là một phần mềm phụ, bổ sung khả năng truy
cập Subversion cho môi trượng lập trinhg Visual Studio.Net.
Insurrection: giao diejn cho Web cho Subversion
JSVN: chương trình khách viết bằng Java.
svnX: chương trình khách cho Mac OS
TortoiseSVN: là một phần mềm làm việc trên Windows
Explorer
WebSVN: là một giao diện Web cho Subversion, viết bằng
PHP
- Xử lý khi nhều người cùng thay đổi một chỗ:
Trong thư mục client1, check out, sau đó tạo file bất kì( ví
dụ main. C)
Commit file main.c
Edit file main.c, thêm và dịng ”I am client1”. Save file.

(chưa commit)
Ra khỏi thư mục client1, tạo thư mục client2(giả định đây
là 1 client khác cùng tham gia 1 project với client1).
Ckeck out as client2.


Edit file main.c them vào dòng “I am client2”. Commit file
main.c
Trở lại thư mục client1. Commit file main.c. Bảng hiển thị
lỗi sẽ hiện ra và bạn sẽ không thể commit lên server.
Cách khắc phục:
Trước tiên bạn phải update. Click chuột phải, chọn SVN
update. File main.c của bạ sẽ được copy qua main.cpp.mine,
cịn file main.cpp sẽ có nội dung mà cả 2 client đã thay đổi.
Xem file main.cpp để “ đoán “ xem chuyện gì đã sảy ra và
chỉnh sửa lại. Hoặc bạn có thể dùng check modification tool
(click chuột phải, chọn TortoiseSVN -> Check for modification).
Sau khi đã chỉnh sửa xong file main.cpp, bạn phải thông báo
cho SVN rằng conflict đã được fix bằng cách click chuột phải,
chọn TortoiseSVN -> Resolved . Sau đó mới có thể commit
được.
4. Thống kê lưu lượng truy cập của từng thành viên (nếu
dùng GitHub).
Git là tên gọi của một Hệ thống quản lý phiên bản
phân tán (Distributed Version Control System – DVCS) là một
trong những hệ thống quản lý phiên bản phân tán phổ biến
nhất hiện nay. DVCS nghĩa là hệ thống giúp mỗi máy tính có
thể lưu trữ nhiều phiên bản khác nhau của một mã nguồn
được nhân bản (clone) từ một kho chứa mã nguồn
(repository), mỗi thay đổi vào mã nguồn trên máy tính sẽ có

thể ủy thác (commit) rồi đưa lên máy chủ nơi đặt kho chứa
chính. Và một máy tính khác (nếu họ có quyền truy cập) cũng
có thể clone lại mã nguồn từ kho chứa hoặc clone lại một tập
hợp các thay đổi mới nhất trên máy tính kia. Trong Git, thư
mục làm việc trên máy tính gọi là Working Tree.


Mơ hình hoạt động của DVCS
nó sẽ giúp bạn lưu lại các phiên bản của những lần thay đổi
vào mã nguồn và có thể dễ dàng khơi phục lại dễ dàng mà
không cần copy lại mã nguồn rồi cất vào đâu đó. Và một
người khác có thể xem các thay đổi của bạn ở từng phiên bản,
họ cũng có thể đối chiếu các thay đổi của bạn rồi gộp phiên
bản của bạn vào phiên bản của họ. Cuối cùng là tất cả có thể
đưa các thay đổi vào mã nguồn của mình lên một kho chứa
mã nguồn.


4.1. Hệ thống đếm lượng truy cập dựa theo session(phiên làm
việc) và đếm lượt mới sau 30’ sau khi khách có thao tác
trở lại hệ thống (dựa trên cookies được lưu trữ) xem:
/>e/stat.php
- Phương pháp tính tốn 1: Dữ liệu được tính tốn nhanh
Phương pháp tính 1 được dựa trên cách bạn chỉ định, thu thập
và lưu trữ dữ liệu liên tục về lưu lượng truy cập của bạn. Có rất
nhiều giải pháp bạn có thể triển khai để tùy chỉnh phương pháp
tính này, nhưng cách phổ biến nhất để dữ liệu này được chỉ
định và lưu trữ là thông qua cookie được quản lý thơng qua
trình duyệt web.
Phương pháp tính # 2 địi hỏi phép tính phức tạp trên tập dữ

liệu lớn, do đó nó ln tham chiếu dữ liệu trong bảng phiên gốc
chứ không phải bảng tổng hợp trước. Phương pháp tính tốn #1
mất nhiều thời gian hơn so với phương pháp tính tốn # 2 để
xử lý và cung cấp dữ liệu vào báo cáo của bạn bởi vì các giá trị
này được tính tốn nhanh; Analytics không thể chỉ đơn giản tra
cứu và đưa ra dữ liệu đã được xử lý và lưu trữ trong các bảng
tổng hợp trước. Phương pháp tính tốn này sẽ xảy ra mỗi khi
bạn yêu cầu. Lưu ý rằng nếu điều kiện nhất định được đáp ứng,
phương pháp tính này có thể bao gồm việc lấy mẫu, nhưng
người dùng tài khoản Google Analytics 360 có thể truy cập
vào các báo cáo chưa được lấy mẫu .
Phương pháp tính tốn # 1 được sử dụng trong báo cáo tùy
chỉnh và cho phép tính tốn Người dùng trên bất kỳ thứ ngun
nào, như Trình duyệt, Thành phố hoặc Nguồn.
Lưu ý rằng đối với một số thứ nguyên, như Nguồn hoặc Phương
tiện, có thể một người dùng duy nhất có thể ở trong nhiều
nhóm (ví dụ: nếu người dùng truy cập từ tìm kiếm khơng phải
trả tiền và tìm kiếm có trả tiền trong cùng phạm vi ngày). Do
đó, khi xem Người dùng trên thứ nguyên như vậy, tổng của các
hàng sẽ không cộng lại thành tổng số.
- Thống kê code frequency


4.2. Hệ thống đếm (bao gồm cả thống kê online) dựa trên số
truy cập của khách(gues), thành viên (member) và các
máy tìm kiếm(bost) Xem:
/>e/online.php
- Phương pháp tính tốn 2: Dữ liệu đã được tính tốn trước
Phương pháp tính này chỉ dựa vào số lượng phiên trong phạm vi
ngày nhất định và thời gian của mỗi phiên. (Điều này được

quyết định bởi công nghệ được quản lý trên thiết bị, như trình
duyệt web và thường được gọi là thời gian phía máy khách.) Do
kết quả của phép tính này có thể được thêm vào bảng dữ liệu
tổng hợp trước, Analytics có thể tham khảo bảng này để nhanh
chóng truy lục và cung cấp dữ liệu này trong báo cáo, kể cả khi
bạn thay đổi phạm vi ngày.
Phương pháp tính # 2 được sử dụng riêng trong báo cáo khi thứ
nguyên duy nhất là khung thời gian, như Ngày, Tuần trong năm
hoặc Tháng trong năm. Điều này có nghĩa là bạn chỉ nhìn thấy
nó trong báo cáo Tổng quan về đối tượng khi khơng có Phân
đoạn nào được áp dụng hoặc trong báo cáo tùy chỉnh có một
trong những thứ nguyên này là thứ nguyên được áp dụng duy


nhất. Khi xem Người dùng trên bất kỳ thứ nguyên khơng có
ngày nào, Analytics sử dụng bảng thứ hai được mơ tả bên dưới,
để nhanh chóng tính tốn chỉ số Người dùng.
Mặc dù phương pháp tính này có thể nhanh chóng cung cấp dữ
liệu khơng được lấy mẫu, nhưng nó cũng có một số nhược điểm.
Phương pháp tính này dựa vào số lượng phiên và thời gian phía
máy khách, do vậy nếu thời gian phía máy khách khơng chính
xác hoặc nếu bạn đang sử dụng chế độ xem báo cáo lọc một số
phiên ra khỏi một người dùng (thay vì tất cả người dùng), thì dữ
liệu có thể khơng nhất qn.
Để tránh bất kỳ phương pháp tính khơng chính xác tiềm tàng
nào, bạn có thể tạo báo cáo tùy chỉnh có thứ ngun khơng có
ngày sẽ khơng đổi qua các phiên cho người dùng (ví dụ: Trình
duyệt, Hệ điều hành hoặc Thiết bị di động). Điều này buộc
Analytics phải sử dụng cách tính # 1, thay thế
­ Thống kê contributor


- Thống kê number


- Thống kê commit

- Thống kê punch card




Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×