git - 如何从远程仓库中的master删除GIT分支并从另一个分支启动一个新分支?

标签 git version-control bitbucket git-branch

我不小心从 origin 的 master 分支创建了一个新分支,并将更改提交到该分支。

让我们将我创建的新分支命名为 Accidental_Branch

但是我应该从另一个分支创建新分支,比如说Feature_Branch。主分支不是最新的,我的团队将所有更改提交给 Feature_Branch,我应该从中创建新分支。这就是我想要的。

  1. 删除我创建的分支,即Accidental_Branch。我不想丢失在本地所做的更改,因为我想使用该更改创建一个新分支。

  2. Feature_Branch 创建新分支。并提交更改。更改含义、我已提交给 Accidental_Branch 的更改以及我在本地未提交的更改。

请帮帮我。我是 GIT 新手。

最佳答案

要保存未提交的更改,您可以生成 stash (兑现所选文件) git stash save "optional stash-message" .

这样您就可以缓存您的文件,这样您就不会丢失它们。之后git stash您可以通过 git branch -d <branch_name> 删除意外生成的分支本地和远程删除 git push origin --delete <branch_name> .

检查了您将启动新分支 ( git checkout <branch_name> ) 的分支,并使用 git branch <branch_name> 创建您的分支并按上面的说明检查这一点,然后使用 git stash apply stash@{0} 应用生成的存储。 .

如何git stash作品对此进行了简单的解释website-blog .

编辑,为什么问题不够清楚:

如果您意外分支中的更改已经推送到远程服务器,那么 git stash不起作用。在这种情况下,您必须revert提交,其中包括您不想丢失的更改。 git revert命令将创建具有相反效果的新更改,从而撤消指定的旧提交,因此更改将再次可用并且不会丢失。

git revert之后您已将更改的文件放在工作目录中,并且可以创建新分支。如果新分支在另一个分支中启动,您必须再次存储未提交的文件,创建并 checkout 新生成的分支,并按照上面的说明在此分支中应用存储

关于git - 如何从远程仓库中的master删除GIT分支并从另一个分支启动一个新分支?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65970160/

相关文章:

git - 使用 tortoisehg 从 http URL 克隆 git 存储库

node.js - 从硬盘安装自定义 Nodejs 模块

git - 为什么 'git commit' 不保存我的更改?

git - 在 bitbucket 上新创建的 git 分支不会显示在事件或 merge 的分支列表中

bitbucket - 将 gitlab 存储库自动同步到 bitbucket

git - 将 Bitbucket pull 请求作为补丁应用

git - 如何在 GitHub 上获取其他人的分支上的分支?

git - Git 中的 csproj 文件是否需要带有 SAK 值的 xml 标签 SccProjectName、SccLocalPath、SccAuxPath、SccProvider

ruby-on-rails - 人们是否将他们的 capistrano deploy.rb 和食谱提交给他们的私有(private) scm?

svn - 在 svn 中标记部分树与完整树干