Làm quen với Git và GitHub
Kết nối đến tài khoản GitHub từ Android Studio
- Mở ứng dụng cần chia sẻ
- File > Settings > GitHub nhấn vào liên kết Add account
và điền thông tin đăng nhập đến tài khoản GitHub
- Nếu thành công sẽ xuất hiện tài khoản GitHub, ví dụ:
Chia sẻ dự án từ Android Studio đến GitHub
- Chọn VCS > Import into Version Control > Share Project on GitHub
- Trong hộp thoại Share Project on GitHub, tạo một Repository bằng cách đặt tên cho Repository Name (trong bài viết này dùng tên Repo là tên ứng dụng), nhập một ít thông tin trong Description để mô tả dự án chúng ta và nhấn Share. Lưu ý tùy chọn Private chỉ dành cho tài khoản GitHub có trả phí:
- Nhấn Share sau đó nhấn Add trong hộp Add Files For Initial Commit
- Có thể xảy ra tình huống này:
Chỉnh sửa bằng cách thay đổi lại tên trong Remote là xong. Nếu mọi chuyện đều ổn thì toàn bộ nội dung dự án sẽ được chia sẻ đến GitHub (chú ý bạn có thể chờ vài giây):
Khi thành công, nhìn vào góc phải dưới màn hình
Hộp thoại Add File to Git xuất hiện yêu cầu thêm tập tin vsc.xml đến Git, chúng ta nhấn Add:
Bây giờ nếu chúng ta vào tài khoản GitHub sẽ xuất hiện một Repository mới:
Trở lại dự án trên Android Studio, giả sử chúng ta tạo một sự thay đổi nào đó trên tập tin có tên MainActivity.java và chúng ta muốn cập nhật sự thay đổi đến dự án thì chỉ việc vào VCS > Commit. Trong hộp thoại Commit Changes, tại nút Commit chọn Commit and Push:
Có thể xảy ra cảnh báo:
Cảnh báo yêu cầu chúng ta nhập một vài thông tin tại Commit message:
Nhấn Commit and Push trở lại. Có thể xuất hiện thêm cảnh báo:
Nhấn nút Commit and Push và tiếp tục nhấn nút Push trong hộp thoại Push Commits xuất hiện sau đó, nếu thành công:
Để ý rằng sự thay đổi diễn ra trên nhánh master. Bây giờ chúng ta có thể kiểm tra sự thay đổi trong tập tin MainActivity.java của dự án chúng ta trên GitHub và nếu để ý kĩ chúng ta sẽ thấy số lần commit là 2:
Nhấn chuột vào dòng 2 commits, chúng ta sẽ thấy chi tiết về các lần commit:
Tạo nhánh
Có thể tạo một nhánh con trên Android Studio dùng Git bằng cách chọn VCS > Git > Branches
Trong hộp thoại Git Branches chọn New Branch:
Nhập tên branch, ví dụ first_change:
Nhấn OK. Lúc này chúng ta có hai nhánh (master và first_change). Trong Android Studio có thể xem chúng ta đang ở nhánh nào tại góc dưới phải:
Theo hình trên chúng ta đang ở nhánh first_change. Chúng ta có thể chuyển đổi trở lại nhánh master (và ngược lại) bằng cách nhấn chuột vào biểu tượng hai dấu mũi tên bên phải nhánh first_change và chọn nhánh master chọn Checkout:
Chúng ta sẽ trở lại nhánh master:
Tương tự chúng ta có thể chuyển qua nhánh first_change. Bây giờ chúng ta lại tạo ra một sự thay đổi trong tập tin MainActivity.java tại nhánh first_branch. Vào VCS > Commit nhập vài thông tin vào Commit Message
và nhấn Commit and Push
Nhấn Push
Kiểm tra trong tài khoản GitHub
Để ý là lúc này chúng ta có hai nhánh (2 branhches). Nhấn chuột vào Branch để xem các nhánh hiện có:
Vì thay đổi chúng ta vừa thực hiện diễn ra trên nhánh first_change nên nội dung tập tin MainActivity.java hai nhánh là khác nhau.
Tạo pull request
Chúng ta có thể so sánh sự thay đổi giữa các nhánh một cách dễ dàng bằng cách nhấn nút Compare & pull request:
Khi nhấn Compare & pull request, sẽ hiện thông tin thông điệp commit chúng ta thực hiện trên nhánh first_change
Chúng ta có thể viết vài dòng comment ở dưới ô Leave a comment. Xem tiếp phần ở dưới sẽ thể hiện rõ nét các thay đổi diễn ra giữa các nhánh:
Cuối cùng chúng ta có thể tạo ra một pull request để có thể tiện kiểm tra so sánh bằng cách nhấn nút Create pull request
Lúc này chúng ta có một Pull Requests
Một cách khác để tạo pull request là nhấn nút New pull request gần nút Branch như hình minh họa sau:
Chọn các nhánh để so sánh với nhau từ base và compare, ví dụ
Merge
Sau khi xem thông tin từ pull requests, chúng ta có thể hợp nhất các nhánh đến nhánh base. Ví dụ, trong dự án chúng ta có một pull request (Deleting something to MainActivity.java file), mở pull request này bằng cách nhấn vào đường liên kết Deleting something to MainActivity.java file:
Kết hợp các nhánh đến nhánh master bằng cách nhấn nút Merge pull request và tiếp tục nhấn Confirm merge:
Bây giờ chúng ta không còn Pull Requests nào và nội dung tập tin MainActivity.java trên hai nhánh là như nhau.
Một số xung đột có thể xảy ra khi hợp nhất các nhánh xem thêm:
https://www.git-tower.com/learn/git/ebook/en/desktop-gui/advanced-topics/merge-conflicts#start
Xem thêm: Sử dụng Git và GitHub trong Visual Studio (từ 2017 trở lên)
Tháng Tám 31, 2020 at 9:07 sáng
chào anh, cho em hỏi là khi thay đổi trong nhánh master rồi mà nhánh con của nó chưa có thì muốn đồng bộ từ base qua first_branch thì làm thế nào ạ. có phải cũng pull request như trên ko?
ThíchThích
Tháng Tám 31, 2020 at 9:17 sáng
heee sr anh. anh khỏi rep ạ. em mò ra rồi.
ThíchThích