Tạo xung đột
Khi xung đột phát sinh, bạn sẽ cần phải giải quyết nó để hoàn thành công việc của mình. Trong bước này, chúng ta sẽ cố tình tạo xung đột bằng cách sử dụng hai kho lưu trữ hiện có của chúng ta, “tutorial” và “tutorial2".
Đầu tiên, mở tệp sample.txt
trong thư mục tutorial
. Thêm phần chữ in đậm bên dưới vào tệp và cam kết thay đổi nhưng chưa đẩy.
Anyone can learn Git with this tutorial and Backlog
add: Register a change in an index
commit: Save the status of an index
$ git add sample.txt
$ git commit -m "append description of the commit command"
[main 95f15c9] append description of the commit command
1 files changed, 1 insertions(+), 0 deletions(-)
Tiếp theo, mở tệp sample.txt
trong thư mục tutorial2
. Thêm phần chữ in đậm bên dưới vào tệp và cam kết.
Anyone can learn Git with this tutorial and Backlog
add: Register a change in an index
pull: Obtain the content of the remote repository
$ git add sample.txt
$ git commit -m "append description of the pull command"
[main 4c01823] append description of the pull command
1 files changed, 1 insertions(+), 0 deletions(-)
Bây giờ sử dụng lệnh git push để đẩy thay đổi từ “tutorial2” đến kho lưu trữ từ xa.
$ git push
Username: <username>
Password: <password>
Counting objects: 5, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 391 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://example.backlog.com/git/BLGGIT/tutorial.git
3da09c1..4c01823 main -> main
Trong kho lưu trữ từ xa hiện tại của chúng ta, tệp sample.txt
chứa dòng thứ ba pull: Obtain the content of the remote repository
và đã được cam kết trong nhật ký lịch sử.
Tiếp theo, chúng ta sẽ đẩy cam kết từ kho lưu trữ tutorial
sang kho lưu trữ từ xa.
$ git push
Username: <username>
Password: <password>
To https://example.backlog.com/git/BLGGIT/tutorial.git
! [rejected] main -> main (non-fast-forward)
error: failed to push some refs to 'https://example.backlog.com/git/BLGGIT/tutorial.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes (e.g. 'git pull') before pushing again. See the
'Note about fast-forwards' section of 'git push --help' for details.
Như bạn có thể thấy, Git gây xung đột và từ chối thao tác đẩy của bạn.