製造衝突
當出現衝突時,您需要解決衝突以完成您的工作。在這個步驟中,我們將使用我們現有的兩個儲存庫故意製造衝突,「tutorial」和「tutorial2」。
首先,開啟tutorial
目錄中的sample.txt
檔案。將下面的粗體文本新增到檔案中,並提交更改,但暫時不要推送。
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(-)
接着,開啟tutorial2
目錄中的sample.txt
檔案。將下面的粗體文本新增到檔案中並提交。
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(-)
現在使用 git push 指令將tutorial2
中的修改推送到遠端儲存庫。
$ 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
在我們目前的遠端儲存庫中,sample.txt
檔案包含第三行pull: Obtain the content of the remote repository
,並且已經提交到歷史日誌中。
接下來,我們將把提交從我們的tutorial
儲存庫推送到遠端儲存庫。
$ 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.
如您所見,Git 引發了衝突並拒絕了您的推送。