gpt4 book ai didi

Git 删除分支和所有相应的更改

转载 作者:太空狗 更新时间:2023-10-29 14:32:53 24 4
gpt4 key购买 nike

我是 git 的新手,在创建/删除分支方面有点超前,想找出正确的过程。基本上,我从一个新分支 (branch_a) 开始,然后进行了一些更改。然后我决定测试第三方包,因为我知道它可能无法按我的意愿工作。此时,我在分支 A 中有一些我没有暂存或提交的更改。我继续 checkout 一个新分支 (branch_b)。我玩弄了这个“测试分支”,然后决定删除它。首先,我检查了原来的分支:

git checkout branch_a

然后,我删除了分支,认为我所做的所有更改也会被删除:

git branch -d branch_b

所以分支被删除了,但是当我返回 branch_a 从我离开的地方继续工作时,我看到我在 branch_b 中所做的更改仍然存在。由于我之前没有提交任何内容,所以我无法弄清楚如何区分 branch_b 之前的更改和 branch-b 之后的更改。这还有可能吗?

而在“流程”方面,是否有更好的方法来创建和删除测试分支?例如。我应该使用 git reset --hard 吗?

最佳答案

我要推测发生了什么。

您在 branch_a 中进行了更改.你没有 promise 。您 checkout 了新分支 branch_b ,做了一些事情,没有提交。现在你切换回了branch_a . git 确实会让你继承一个脏的工作目录。

清理它(假设我的猜想是正确的)

为了清理你的烂摊子,执行 git status .你需要git add所有你想要的元素 branch_a .然后执行 git commitbranch_a中保存您想要的内容.请注意,它只会提交您添加到阶段的项目。

现在您可以自由返回 branch_b , git add你想要的东西,也提交。 git status有很好的帮助文本,可以在整个过程中为您提供帮助。

我推荐的工作流程:

您在 branch_a 上工作.您有了尝试不同事物的想法。如果你认为你会回到branch_a在 15 分钟内,执行 git stash save <message> .这保留了 branch_a东西分开。如果你想要更长的时间,那就提交吧。别担心,您可以稍后使用交互式 rebase 清理它:git rebase -i .藏起来有点烦人,你可能会不小心删除它们或在你不想的时候 pop 它们。

现在回到master , 并创建 branch_b .我最喜欢的方式是一体化命令 git checkout -b branch_b .现在你可以在那里工作了。完成实验后,再次 stash 或提交。请记住,只要您不推送,您就可以随意提交并稍后通过交互式 rebase 来清理它。

查看 branch_a并继续在那里工作。如果你藏了东西, pop 藏品:git stash pop .否则你 promise 了,它已经在那里等着你了。

关于Git 删除分支和所有相应的更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21356380/

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