Các Bài Viết Khác

Merge và xử lý lỗi conflic Pull Request trên Git

Giả sử chúng ta chưa có gì bây giờ muốn quản lý một kho code. Trong ví dụ này là kho NukeViet: https://github.com/nukeviet/nukeviet.git.
Bây giờ hãy tạo một thư mục nào đó và click chuột phải vào thư mục đó chọn Git Bash. Tiếp theo đánh lệnh:
git init
git clone https://github.com/nukeviet/nukeviet.git
Hai lệnh trên để thiết lập một kho mới và tải kho nukeviet về thư mục vừa tạo. Khi clone xong mặc định sẽ chọn nhánh master, tuy nhiên ta cần làm việc trên nhánh develop. Tiếp theo để checkout nhánh develop về ta phải trỏ vào thư mục chính của kho code. Dùng lệnh sau:
cd nukeviet
Sau đó:
git checkout develop
Bây giờ ta tiếp tục nhập lệnh sau:
git remote add vuthao https://github.com/vuthao/nukeviet.git
git fetch vuthao
git merge vuthao/develop
3 lệnh đó sẽ thực hiện việc tạo một nhánh ảo từ thành viên vuthao trên github sau đó lấy toàn bộ pull request của thành viên đó, nhập nhánh develop của vuthao vào nhánh đang làm việc của kho code hiện tại (tức nhánh develop của nukeviet).

Nếu quá trình merge tự động diễn ra thành công ta chỉ cần thực hiện lệnh:
git push origin develop
Để hoàn tất việc merge pull request.

Nếu merge bị conflic thì ta phải xử lý các file conflic trước, sau đó đưa vào index, commit rồi mới push lên kho code. Thứ tự thực hiện như sau:

Để xem thử conflic chỗ nào ta đánh:
git diff
Khi đó các file bị conflic sẽ hiển thị đoạn code lỗi. Ta chỉ cần mở các file đó lên, chỉnh sửa đoạn code đó. Sau khi chỉnh sửa xong ta add file đó vào index bằng cách dùng lệnh:
git add [file]
trong đó [file] là đường dẫn đến file ví dụ:
git add modules/news/admin/content.php
Để xem trạng thái các file, thư mục ... dùng lệnh:
git status
Để hiển thị status gọn hơn ta dùng option -s:
git status -s
Sau khi đã hoàn tất xử lý conflic ... ta commit các chỉnh sửa vừa rồi:
git commit -m "Message"
Trong đó message là nội dung commit.
Cuối cùng là push lên kho code.
git push origin develop
Bình luận (0)