“ git merge”-已经更新

时间:2019-12-31 06:34:59

标签: git

我遇到了一些问题。我从“开发”分支签出了一个名为“圣诞节”的新分支,并进行了一些更改。 (1)现在我想将“开发”合并为“圣诞节”,然后解决冲突。 (2)之后,将“圣诞节”合并为“开发”,并推动它更新远程“开发”。 但这有一些问题。在步骤1中,它显示已经更新,而在步骤2中,仍然存在许多冲突。我该怎么办?请帮助我!

4 个答案:

答案 0 :(得分:1)

如果您从Christmas签出到develop,则您在develop中所做的提交在Christmas中。您甚至可以使用以下命令从本地删除develop,并从develop重新创建Christmas

最好使用git reflog命令粘贴日志以查看实际操作。

删除旧版开发

git branch -d develop

develop重新创建Christmas

git checkout -b develop

然后,将开发推送到远程

git push origin develop

确保已提交Christmas

答案 1 :(得分:0)

Christmas分支基于开发,因此,当您执行以下操作时:git merge develop您已经是最新的。在develop分支中没有新的更改需要添加到您的分支中。

您应该改为:

git fetch
git merge origin/develop

要使用最新更改更新功能分支-这将向您显示您需要解决的冲突。

我个人更喜欢使用get rebase origin/develop,但这只是我订购命令的方式。

答案 2 :(得分:0)

  1. 现在我想将“开发”合并为“圣诞节”,然后解决冲突。
      

    您已经从Christmas创建了develop分支。因此,您应该将Christmas合并到develop分支中,因为开发的提交已经存在并且是最新的。

git checkout Christmas
git merge develop

运行合并后,您将能够看到冲突(如果有)。

  1. 之后,将“圣诞节”合并为“开发”,并推动它更新远程“开发”。
      

    如果您在上一步中进行了合并,则不需要此合并。您只需使用git push develop

    将更改推送到远程即可

答案 3 :(得分:0)

您的步骤看起来不正确。通常,短暂的功能分支应如下所示:

  1. 您有一个要更改的基本分支(在您的情况下为 SELECT D.name As DbName, F.Name AS FullDbName, CASE WHEN F.type_desc='ROWS' THEN 'mdf' ELSE 'ldf' END AS FileType, F.physical_name AS PhysicalFile, CONVERT(DATE,D.create_date) AS CreationDate, F.state_desc AS OnlineStatus, CAST((F.size*8)/1024 AS VARCHAR(26)) + ' MB' AS FileSize_MB, CAST(F.size*8 AS VARCHAR(32)) + ' Bytes' AS FileSize_Bytes, CAST(CAST(ROUND((F.size*8)/(1024.0*1024.0),0) AS INT) AS VARCHAR(32)) + ' GB' AS FileSize_GB FROM sys.master_files F INNER JOIN sys.databases D ON D.database_id = F.database_id ORDER BY D.name
  2. 您在基础分支上创建一个新的功能分支(在您的情况下为develop
  3. 签出功能分支,完成您的工作并提交
  4. 对功能分支中的功能满意后,将功能分支合并到基础分支中(相反)
  5. 将新的基础分支推送到远程。

相关命令如下:

Christmas

尽管您的问题不适用于正确使用Git,但我仍将尝试回答:

您从1. Assume you have "develop" branch, and you have checked that out > git checkout develop 2. Create new feature branch "Christmas" > git checkout -b Christmas # or git branch Christmas ; git checkout Christmas 3. Do your work and commit > git commit -m "your message" 4. Merge feature branch back to base branch > git checkout develop # go back to your base branch first, and make sure it is # up-to-date > git merge Christmas # merge change in your feature branch into your base branch An alternative of merge is to rebase your feature branch onto the base branch: > git checkout Christmas # rebase works in opposite: you should be in your # branch, and rebase onto the base > git rebase develop The above two commands can be combined as > git rebase develop Christmas 5. Push your local "develop" branch to remote (develop)> git push origin develop 创建Christmasdevelop中没有任何更改,这意味着您的develop已包含您在Christmas中找到的所有更改。因此,当您将develop合并到develop(用法错误)时,将不会发生任何事情,因为Christmas中没有内容,您需要合并到develop中,因此“已更新”消息