gpt4 book ai didi

git - 如何在一次操作中创建功能分支并重置为 origin/master?

转载 作者:太空狗 更新时间:2023-10-29 13:12:01 24 4
gpt4 key购买 nike

我的旅程通常从对 master 分支的一个小修复开始,最终看起来比最初想象的要复杂。

所以我很容易陷入这种情况:

* Damned I have more stuff to check (HEAD -> master)
* Forgot to fix this as well...
* Oops, fixed that too
* Fixed this
* (origin/master)

然后有人让我快速在 master 分支上做一个小改动。所以我需要创建一个 feature/bugfix 分支并将 master 恢复到它的 origin:

$ git branch --magic bug/foobar
$ git log
* Damned I have more stuff to check (HEAD -> bug/foobar)
* Forgot to fix this as well...
* Oops, fixed that too
* Fixed this
* (master, origin/master)

目前我用这个解决了我的问题:

$ git branch bug/foobar
$ git reset --hard origin/master
$ git checkout bug/foobar

我显然可以为它创建一个别名(尚未测试):

swap-to="!git branch $@ && \
git reset --hard \
\$(git config --get branch.\$(git rev-parse --abbrev-ref HEAD).remote)/\
\$(git rev-parse --abbrev-ref HEAD) && \
git checkout $@"

有没有更快/更智能的方法来做到这一点?

最佳答案

您应该能够将 master 分支作为一个新分支 checkout

 $ git checkout origin/master -b feature/new_featur

编辑

上面的解决方案,虽然它有效,但它设置了新分支来跟踪主分支。 (我不喜欢)

我通常在继续之前取消跟踪。

我查看了 IntelliJ 如何 checkout 新分支,下面是如何。

$ git checkout origin/master 

在此之后,git 会告诉你,你处于超然状态。现在您有一个与 origin/master 相同的 HEAD,继续检查该提交作为一个新分支。

$ git checkout -b feature/new_feature

不要忘记git fetch

:) 魔法伤口,哈?我希望它有所帮助!

关于git - 如何在一次操作中创建功能分支并重置为 origin/master?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40801487/

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