簡體   English   中英

git merge master和origin / master之間的區別?

[英]Difference between git merge master and origin/master?

命令git merge origin/master

javanoob@DELL:~/workspace/PROJECT_One$ git merge origin/master 
Updating d83ef9c..dd520ea
error: The following untracked working tree files would be overwritten by merge:
    sample.txt
Please move or remove them before you can merge.
Aborting

命令git merge master

javanoob@DELL:~/workspace/PROJECT_One$ git merge master
Already up-to-date.

當我執行命令git merge origin/master它顯示有一些文件將被覆蓋但如果我執行相同的命令沒有前綴origin/它說一切都已經是最新的。

這個設置有什么問題?

我不知道它是否重要但在運行這些命令之前,我確實運行了命令git fetch origin

git fetch獲取遠程分支上的信息,但不對本地master分支進行任何更改。 因此, masterorigin/master仍然存在分歧。 你必須使用git pull合並它們。

進行提交時,本地master分支優先於origin/master直到您推送這些更改。 這種情況恰恰相反,其中origin/master分支位於本地master分支之前。 這就是為什么你得到不同的結果。

有關更多信息,請閱讀https://stackoverflow.com/a/7104747/2961170

master是你的本地分支, origin/master是遠程分支(它最后fetch的狀態)

您輸出的結果顯示遠程提交,將覆蓋sample.txt並且尚未pull入您的本地master

根據經驗 - 在進行任何合並/變基等之前,最好有一個干凈的工作樹和最新的分支。

所以 - 提交你的工作,檢查git狀態,然后執行git pull --rebase ('oh-my-zsh' gup了別名gup ),然后繼續合並。

使用git merge origin/master指的是服務器上的master分支。 git merge master指的是你當地的主分支。

通過使用git pull ,如果它們發散,你可以合並它們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM