我从master分支中克隆了一个存储库,并做了很多修改。突然我想起我正在使用master分支,我想将其提交到新创建的远程分支而不是master分支。实际上,我对git非常陌生。请帮助我,谢谢
答案 0 :(得分:3)
如果您更改了错误的分支,请执行git checkout -b newBranchName
。
这会将所有更改移至名为newBranchName
然后git branch
查看您当前正在使用哪个分支。
如果这是newBranchName
,请执行
git add . //stages all changed files
git commit -m "any message here" //commit with a message
git push -u origin newBranchName //push local branch to remote with name newBranchName
执行此操作会将您的本地分支推送到名为newBranchName
的新远程分支
现在执行git checkout master
会再次将您带回到本地主分支。
通过git branch
如果显示的母版为绿色或*master
,请执行
git reset --hard HEAD
以还原您在本地所做的更改。
重置后,本地主分支将与远程主分支完全相同。
答案 1 :(得分:2)
这是常见的工作流程错误。一个简单的选择是从master
中的当前点创建一个新分支,然后在开始工作之前将本地master
分支还原到该点:
# from master
# git commit any outstanding changes
git branch feature
git reset --hard HEAD~2 # replace 2 with the actual number of commits you did make
这假设您在意识到自己位于错误的分支之前,已对本地master
分支进行了两次提交。硬重置命令只是删除那些提交,但是这些提交现在仍然是feature
分支的一部分。现在,您可以将feature
推到遥控器上。