Git 新分支而不是推送

Git 新分支而不是推送,git,Git,我在我的主要分支中进行了一些本地更改,并承诺了,但没有推动。现在,我改变了主意,我想创建一个新的测试分支,接受所有将被推送的更改,将它们提交到新分支并从主分支中删除 因此(不是真实输出,手写): “前方”的更改仅指origin/main和main之间的更改。因此,要将main重置为其旧状态,只需git reset--hard origin/main。现在的完整设置是: git checkout main git reset --hard origin/main …就这样。请注意,“现在做什么”

我在我的主要分支中进行了一些本地更改,并承诺了,但没有推动。现在,我改变了主意,我想创建一个新的测试分支,接受所有将被推送的更改,将它们提交到新分支并从主分支中删除

因此(不是真实输出,手写):

“前方”的更改仅指
origin/main
main
之间的更改。因此,要将
main
重置为其旧状态,只需
git reset--hard origin/main
。现在的完整设置是:

git checkout main
git reset --hard origin/main
…就这样。请注意,“现在做什么”的第一步已经由
git checkout-b test
完成,因此剩下的唯一步骤是将
main
恢复到
origin/main

注意:这假设更改已提交,如问题中所述。在未提交更改的签出中运行
git reset--hard
,将使您丢失更改。如果不确定更改是否已提交,请运行
git status
;成功提交后,它将告诉您没有要提交的
内容

前面的更改只是
origin/main
main
之间的更改。因此,要将
main
重置为其旧状态,只需
git reset--hard origin/main
。现在的完整设置是:

git checkout main
git reset --hard origin/main
…就这样。请注意,“现在做什么”的第一步已经由
git checkout-b test
完成,因此剩下的唯一步骤是将
main
恢复到
origin/main


注意:这假设更改已提交,如问题中所述。在未提交更改的签出中运行
git reset--hard
,将使您丢失更改。如果不确定更改是否已提交,请运行
git status
;成功提交后,它将告诉您没有要提交的内容。

我错过了一些东西。。。我做了
重设--hard
,它清除了我处理的所有文件,并且没有提交它们@雅库姆。别忘了您在
main
分支上,现在按照您的请求恢复到提交之前的状态。要返回到您的文件,请发出
git checkout test
。我没有提交
test
分支。幸运的是我有后援。记住孩子们,提交你的更改并做备份。@JakubM。哎哟-很高兴你恢复了你的文件@雅库姆。好吧,我的回答是在问题中提到的文件已被认真承诺的前提下写的!除了在问题中明确说明之外,在使用git时,经常建议提交。我觉得我错过了一些东西。。。我做了
重设--hard
,它清除了我处理的所有文件,并且没有提交它们@雅库姆。别忘了您在
main
分支上,现在按照您的请求恢复到提交之前的状态。要返回到您的文件,请发出
git checkout test
。我没有提交
test
分支。幸运的是我有后援。记住孩子们,提交你的更改并做备份。@JakubM。哎哟-很高兴你恢复了你的文件@雅库姆。好吧,我的回答是在问题中提到的文件已被认真承诺的前提下写的!除了在问题中明确说明之外,在使用git时,通常还建议提交。