# Hướng dẫn sử dụng gitea trong dự án lập trình
## Hướng dẫn cài đặt git client
### 1. Git là gì?
Git là một hệ thống quản lý phiên bản phân tán (Distributed Version Control System – DVCS), nó 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. Git cung cấp cho mỗi lập trình viên kho lưu trữ (repository) riêng chứa toàn bộ lịch sử thay đổi.
Git là công cụ để chia sẻ code, lưu trữ và quản lý thay đổi source code dễ dàng hơn trong việc phối hợp nhóm. Chúng hình dung git giống như là một quyển sách và tất cả lập trình viên chung dự án đều là tác giả của cuốn sách đó. Như vậy, mỗi người đều có nhiệm vụ là viết nên một hoặc nhiều trang sách.
### Khái quát mô hình git

### 2. Cài đặt git client
Truy cập link https://git-scm.com/downloads rồi lựa chọn phiên bản phù hợp với hệ điều hành của bạn.
## Hướng dẫn sử dụng gitea quản lý source code
### 1. Tạo Repository để quản lý source code
- Truy cập đường dẫn của công ty: https://git.osd.vn/
- Đăng nhập với tài khoản nhân viên của bạn.
- Click vào dấu cộng ở bên phải thanh toolbar chọn **New Repository**

(Repository name: đặt tên dự án, Description: mô tả dự án—có thể bỏ qua)
- Kéo xuống cuối trang và click “Create Repository”
### 2. Sửa, xóa dự án
#### truy cập dự án
- Tại trang chủ của git.osd.vn\tìm tên dự án trong ô Repository\tìm tên dự án và click để truy cập vào dự án đó.
- Sau khi chuyển đến trang dự án, click vào “Settings”.
#### Sửa dự án
- Tại màn hình Settings, đổi tên dự án ở ô “Repository Name”, sửa hoặc thêm mô tả ở ô “Description”, thêm website “Website”. Click vào update để thay đổi các mục vừa sửa.

- Tương tự như trên ta có thể thay đổi hoặc xóa avatar của dự án:
- 
- Click vào “update” để cập nhật ảnh đại diện của dự án hoặc “dalete current avatat để xóa ảnh đại diện.
#### Xóa dự án
- Kéo xuống cuối trang, tại mục “Danger Zone” tìm dòng “Delete This Repository”. Click vào button 
!> Chú ý: phải thận trọng và suy nghĩ kỹ trước khi xóa dự án vì có thể ảnh hưởng đến quản lý source code sau này, dự án sau khi xóa không thể khôi phục
### 3. Thêm thành viên vào dự án và cài đặt phân quyền cho người dùng
- Tại màn hình “settings”, tìm và click vào “Collaborators”. Tìm kiếm thành viên tại ô “search user”\click vào tên thành viên\click button “Add Collaborators” để thực thiện thêm thành viên vào dự án
- Trong dòng tên của thành viên, tính từ trái sang, cột đầu tiên là tên thành viên. Cột thứ 2 là quyền của thành viên đó: ta có thể thay đổi quyền cho thành viên là Write( có quyền tham viết và sửa dự án ), Administrator ( toàn quyền quản lý dự án), Read(chỉ xem). Cột thứ 3 là xóa thành viên, click vào button “remove” để thực hiện xóa thành viên.
#### 4. Các câu lệnh cần phải sử dụng khi vào dự án lập trình
- Sau khi đã có tài khoản và quyền truy cập dự án. Chúng ta vào đường dẫn https://git.osd.vn/ truy cập vào dự án như đầu mục 3 đã hướng dẫn.
- Tại đây tìm và sao chép đường dẫn của dự án.

- Trở về màn hình desktop. Tạo thư mục lưu trữ dự án( có thể tạo thư mục tại bất kỳ ổ nào trong máy tính của bạn). Lưu ý, thư mục để clone dự án cần phải là tư mục rỗng.
- Click chuột phải vào thư mục, chọn git bash here

- Khi đó màn hình hiện lên cửa sổ commant, chúng ta có thể viết các câu lệnh git ở đây:
#### Câu lệnh clone
`git clone (đường dẫn dự án chúng ta đã copy ở trên)`
Câu lệnh này dùng để kết nối với dự án trên git và tải về phần có sẵn ở đó. Ví dụ:
`git clone https://git.osd.vn/longnv/testGit.git`
khi git yêu cầu password thì chúng ta chỉ cần viết password đăng nhập để truy cập dự án là được.
#### Câu lệnh add
Khi đã clone dự án. Chúng ta có thể thay đổi, thêm sửa xóa dự án đó( có thể hiểu đơn giản như chúng ta đã có quyền viết chung vào quyển sách git rồi, giờ chúng ta có thể viết tiếp hoặc sửa, hoặc xóa nội dung trước đó). Sau khi đã có chỉnh sửa, chúng ta cần đẩy lên git. Nhưng trước tiên chúng ta cần “nộp bản thảo” cú pháp:
`git add <tên tệp cần gửi>`. Ví dụ: `git add index.html` hoặc `$ git add .` để gửi tất cả các tệp đã sửa.
`git commit -m "thông điệp/ghi chú cho bản thảo-đây là điểu bắt buộc phải có"`. Ví dụ: `git commit -m "update gitTest"`
+ Sau khi đã gửi “bản thảo” chúng ta phải kéo code về, cú pháp:
+
`git pull` (lưu ý: bởi vì chúng ta không thể chắc chắn rằng đã có ai đẩy code lên trước chúng ta hay chưa nên cần phải kéo code về trước để đồng bộ với code đã có sẵn. sau đó mới đẩy code lên được.
Sau khi đã kéo code về thành công thì chúng ta thực hiện các thao tác sau để đẩy code lên:
```
git log
git remote add origin <đường dẫn dựa án lúc clone>
git push -u origin master
```