我遇到了一些问题。我从“开发”分支签出了一个名为“圣诞节”的新分支,并进行了一些更改。 (1)现在我想将“开发”合并为“圣诞节”,然后解决冲突。 (2)之后,将“圣诞节”合并为“开发”,并推动它更新远程“开发”。 但这有一些问题。在步骤1中,它显示已经更新,而在步骤2中,仍然存在许多冲突。我该怎么办?请帮助我!
答案 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)
您已经从
Christmas
创建了develop
分支。因此,您应该将Christmas
合并到develop
分支中,因为开发的提交已经存在并且是最新的。
git checkout Christmas
git merge develop
运行合并后,您将能够看到冲突(如果有)。
如果您在上一步中进行了合并,则不需要此合并。您只需使用
将更改推送到远程即可git push develop
答案 3 :(得分:0)
您的步骤看起来不正确。通常,短暂的功能分支应如下所示:
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
)develop
)相关命令如下:
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
创建Christmas
。 develop
中没有任何更改,这意味着您的develop
已包含您在Christmas
中找到的所有更改。因此,当您将develop
合并到develop
(用法错误)时,将不会发生任何事情,因为Christmas
中没有内容,您需要合并到develop
中,因此“已更新”消息