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
分支?是的,当然。本地分支只是“为”远程分支“工作”,远程分支实际上是您进行版本控制的地方。本地分支可以跟踪远程分支(您可以检查