gpt4 book ai didi

GITLAB:如何将整个分支推送到另一个分支

转载 作者:行者123 更新时间:2023-12-04 13:43:29 24 4
gpt4 key购买 nike

我的目标很容易解释,但我找不到任何方法来做到这一点。假设我有 3 个分支机构。 A、B、C

A -------.
\--------.----------- B
\
.-------------- C

我只是想将整个分支“C”推送到分支“B”。让我解释一下:我不想保留从 B 创建 C 后在 B 中所做的任何事情。我只是希望 B 具有与分支 C 完全相同的代码。

我怎样才能安全地做到这一点?

两者之间有超过 10 000 个不同的文件,因此无法手动操作。

我尝试了几种方法,包括 git merge 和“他们的”策略,但不知何故我仍然遇到很多冲突。

最佳答案

无论潜在冲突文件的数量或代码差异如何,这三个命令中的任何一个

# if you don't need to checkout the branch immediately
git branch -f B C

# if you DO want to checkout the branch immediately
git checkout -B B C

# if you branch B is ALREADY checked out
git reset --hard C

将使B指向与 C 相同的提交,使它们完全相同,代码和历史。没有冲突解决,没有 merge ,它是即时的。

请注意,这被认为是对 B 的重写的最近历史记录,所以如果您共享分支 B,则不要使用它与任何人。

它还会取消对 B 上的任何提交的引用在 C 之后是从它分支出来的,所以如果您有任何疑问,请事先备份B

git branch backup-B B

最后...您忘记备份并后悔了吗? git reflog将列出 HEAD 的先前位置, 你会发现 B在那里,用 git reset --hard <old position hash> 恢复它或使用 git branch recovered-B <old position hash> 在其上放置 Handlebars 以供检查/重复使用

关于GITLAB:如何将整个分支推送到另一个分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58537950/

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