Android 提交后切换分支类型

Android 提交后切换分支类型,android,git,android-studio,version-control,Android,Git,Android Studio,Version Control,我有三个分支,主分支,开发分支和新功能分支 问题是我在开发分支上意外地设置了我的第一次提交(初始提交) 我的问题截图: 我的分支机构的完整概述: 问题:如何将其更改为主分支 您可以将开发分支与主分支合并,或者使用主分支的cherry pick命令检索初始提交 您可以将开发分支与主分支合并,或者使用主分支的cherry pick命令检索初始提交 您可以重命名您的开发分支 git push -u origin development//(push it up to development) git

我有三个分支,
主分支
开发分支
新功能
分支

问题是我在
开发分支
上意外地设置了我的第一次提交(初始提交)

我的问题截图:

我的分支机构的完整概述:
问题:如何将其更改为
主分支

您可以
将开发分支与主分支合并,或者使用主分支的
cherry pick
命令检索初始提交

您可以
将开发分支与主分支合并,或者使用主分支的
cherry pick
命令检索初始提交

您可以重命名您的开发分支

git push -u origin development//(push it up to development)
git checkout main //checkout local main branch
git pull origin development //Pull latest from remote development branch into main
git add -A
git commit -m "get latest from development"
git push -u origin //push up to main
$ git checkout development                 # checkout development
$ git checkout -b development-backup       # backup development branch
$ git branch -D master                     # delete your current local master 
$ git branch -m development master         # rename development -> master
$ git checkout master                      # checkout master
$ git push -f origin master                # force push, update remote master

您可以重命名您的开发分支

$ git checkout development                 # checkout development
$ git checkout -b development-backup       # backup development branch
$ git branch -D master                     # delete your current local master 
$ git branch -m development master         # rename development -> master
$ git checkout master                      # checkout master
$ git push -f origin master                # force push, update remote master

因为您还没有将远程分支(源/开发和源/新功能)合并到本地repo中。所以有两种情况

不需要远程更改。按照以下步骤操作:

  • 创建一个新的“初始提交”
    git签出主机
    git签出—孤立主机1
    ,然后
    git提交
  • 在it上重新设置开发分支的基础
    git签出开发
    git-rebase master1
    (如果存在冲突文件,则使用
    git-add-filename
    git-rebase-继续
  • 删除主功能和新功能分支
    git branch-D主功能
    git branch-D新功能
  • 重命名分支
    git branch-m master1 master
    git checkout master
    git branch新功能
  • 强制推到远程
    git推送-f--all
  • 需要远程更改。遵循以下步骤:

  • 将远程更改合并到本地
    git签出开发
    git合并源/开发
    git签出新功能
    git合并源/新功能
  • 创建一个新的“初始提交”
    git签出主机
    git签出—孤立主机1
    ,然后
    git提交
  • 在it上重新设置开发分支的基础<代码>git签出开发人员和git rebase master1
  • 在其上重新设置新要素分支的基础<代码>git签出新功能和git rebase master1
  • 重命名主分支<代码>git branch-D master
  • git branch-m master1 master
  • 强制推到远程
    git推送-f--all

  • 因为您还没有将远程分支(源/开发和源/新功能)合并到本地repo中。所以有两种情况

    不需要远程更改。按照以下步骤操作:

  • 创建一个新的“初始提交”
    git签出主机
    git签出—孤立主机1
    ,然后
    git提交
  • 在it上重新设置开发分支的基础
    git签出开发
    git-rebase master1
    (如果存在冲突文件,则使用
    git-add-filename
    git-rebase-继续
  • 删除主功能和新功能分支
    git branch-D主功能
    git branch-D新功能
  • 重命名分支
    git branch-m master1 master
    git checkout master
    git branch新功能
  • 强制推到远程
    git推送-f--all
  • 需要远程更改。遵循以下步骤:

  • 将远程更改合并到本地
    git签出开发
    git合并源/开发
    git签出新功能
    git合并源/新功能
  • 创建一个新的“初始提交”
    git签出主机
    git签出—孤立主机1
    ,然后
    git提交
  • 在it上重新设置开发分支的基础<代码>git签出开发人员和git rebase master1
  • 在其上重新设置新要素分支的基础<代码>git签出新功能和git rebase master1
  • 重命名主分支<代码>git branch-D master
  • git branch-m master1 master
  • 强制推到远程
    git推送-f--all

  • 这个答案比我能给出的要好:这个答案比我能给出的要好:我没有看到任何理由:1)将
    dev
    分支重命名为
    master
    ,他仍然有远程
    dev
    分支要跟踪,非常重要的是,他的
    master
    dev
    2)强制更新远程master有不同的哈希值,
    refs/remotes/origin/master
    没有任何问题,他只需要执行
    reset
    revert
    操作,然后与远程分支保持同步
    cherry pick
    rebase master
    ->
    签出master
    ->
    合并dev
    将是我的选择。我没有看到任何理由:1)将
    dev
    分支重命名为
    master
    ,他仍然有远程
    dev
    分支要跟踪,非常重要的是,他的
    master
    dev
    2)强制更新远程master有不同的哈希值,
    refs/remotes/origin/master
    没有任何问题,他只需要执行
    reset
    revert
    操作,然后与远程分支保持同步
    cherry pick
    rebase master
    ->
    签出master
    ->
    合并开发
    将是我的选择。谢谢!但是我可以问一下正常的
    分支机构
    远程分支机构
    之间有什么区别吗?为什么当我尝试创建一个新分支时,也会创建一个
    remote
    分支?是的,当然。本地分支只是“为”远程分支“工作”,远程分支实际上是您进行版本控制的地方。本地分支可以跟踪远程分支(您可以检查