【问题标题】:The changes I want to make to origin show up as merge conflicts我想对原点进行的更改显示为合并冲突
【发布时间】:2021-08-16 17:41:35
【问题描述】:

我拉了远程分支“开发”,创建了一个新分支“分支”,并进行了更改。

git add .

git commit -m "Made necessary changes"

git push 

现在我想从 myfork/branch 到 origin/develop 进行 PR,但它表明存在合并冲突。然而,这些冲突正是我必须做出的改变。没有其他合并冲突。我的老板告诉我,我的拉/推步骤中缺少一些东西。有什么想法吗?

【问题讨论】:

  • 很难说您向我们展示的内容很少。源分支是最新的吗?如果没有,解决方案是在创建 PR 之前将源分支合并到您的开发分支中。
  • git status 显示什么?
  • 我的分支与 origin/develop 是最新的,并且 git 状态中没有显示任何更改。我所做的一切都是承诺然后推送
  • 你的分支是如何建立的?
  • git checkout develop -- git pull origin develop -- git branch branch -- git checkout branch --

标签: git github pull-request


【解决方案1】:

检查您在本地存储库中的历史记录:

# update remote branches :
git fetch

# inspect the history of the following branches :
git log --graph --oneline myfork/branch develop origin/develop

您应该看到 myfork/branchorigin/develop 已经分歧:origin/develop 收到了不属于您的分支的提交
(如果不是这种情况,请添加评论)


要解决这个问题:您可以

  • origin/develop 之上重新定位您的本地分支
    您必须解决机器上的冲突
  • 或丢弃您的分支,从origin/develop 开始并重新编码修复:
# from myfork/branch :
git checkout myfork/branch

# discard all local changes, and move to origin/develop :
git reset --hard origin/develop

# fix code ...

# add & commit
git add file1 file2 ...
git commmit

注意git reset --hard :您的磁盘上有一些未跟踪或提交的更改,执行git reset --hard 将静默擦除它们。如果你想把它们放在一边,至少git stash它们是一个好习惯。

【讨论】:

    猜你喜欢
    • 2018-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-23
    • 1970-01-01
    • 2013-05-10
    • 1970-01-01
    相关资源
    最近更新 更多