gpt4 book ai didi

git - 在 Git 中将本地 master 分支与远程 master 分支 merge

转载 作者:IT王子 更新时间:2023-10-29 01:24:35 26 4
gpt4 key购买 nike

我遇到了一个奇怪的情况:我从前开发人员那里复制了一个目录(本地存储库)到我的机器上。已经有一些不在他的本地存储库中的远程主机的提交。

如何将 master 的本地副本与远程 master 的最新更改 merge ?

最佳答案

情况一:remote/master拥有本地master拥有的一切

如果 remote/master 包含本地 master 包含的所有提交,只需执行 git pull:

git checkout master
git pull remote master

您可以使用以下方法检查本地 master 是否有 remote/master 没有的提交:

git fetch remote
git log --oneline --graph remote/master..master

这将向您显示包含在 master 中但不在 remote/master 中的所有提交。如果您没有看到任何输出,这意味着 remote/master 拥有本地 master 拥有的一切。

情况 2:本地 master 有 remote/master 没有的提交

如果本地 master 包含 remote/master 不包含的提交,您必须弄清楚您要如何处理它。你是想保留它们并将它们与 remote/master merge ,还是只是想把它们扔掉?

案例 2a:将本地 master 提交 merge/ rebase 到 remote/master

如果你想保留它们,你可以mergerebase 本地 masterremote/master:

git checkout master
git fetch <remote>

# Merge remote/master
git merge remote/master

# Or rebase local commits on top instead
git rebase remote/master

# Push the results
git push remote master

案例 2b:丢弃本地 master 提交

如果您不想保留本地提交,则只需将本地 master 硬重置为与 remote/master 相同的点:

git checkout master
git fetch remote
git reset --hard remote/master

文档

您可以从 Git documentation 中阅读有关所有这些命令的更多信息.我也强烈推荐优秀的 free online Pro Git book ,尤其是第 1-3 章和 6-6.5 章。

关于git - 在 Git 中将本地 master 分支与远程 master 分支 merge ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18116198/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com