使用 git Push 动态创建远程分支,而不创建本地分支

使用 git Push 动态创建远程分支,而不创建本地分支

所以这就是我想要实现的目标:

当我从 Github 克隆存储库并签出一些稳定分支,并在其中进行一些本地更改时,我不想创建本地功能分支,也不希望更改保留在我检查过的本地稳定分支中出去。

我只想进行更改并将其推送到远程存储库,以便在远程创建功能分支,并且我的本地稳定分支保持干净。

在不创建本地分支并且不将新的更改保留在本地的情况下,如何才能做到这一点?

答案1

检查远程稳定分支

git fetch <remote> <branch>

您的本地存储库现在将有一个只读远程跟踪分支的副本,现在签出只读跟踪分支

git checkout origin/<branch_name>

您的 VCS(无论您使用什么)将开始显示如下消息:

  • HEAD is in a detached state
  • Previous HEAD position was c293198

当前分支作为哈希片段,如a697b40.
所有分离的 HEAD 意味着进行新的提交,然后离开它(通过检查其他内容)将使您无法引用该新提交。

从远程跟踪分支签出并创建新的“feature”分支

git checkout -b "feature_branch_intended_for_remote"

此时,任何提交都将添加到这个全新的分支中 - 其历史记录是原始稳定的。
这意味着,您获得了远程稳定的数据(您无法修改),并且您从未创建上游稳定的本地工作副本 - 您可能会意外地将其推回到上游。
所以现在你可以

  • 将你的工作提交到这个新分支
  • 将其作为一个全新的分支推回原点
git push [--set-upstream | --track | -u] <remote> <feature_branch_intended_for_remote>

相关内容