gmarsi Asked: 2020-06-10 02:53:52 +0800 CST 2020-06-10 02:53:52 +0800 CST 2020-06-10 02:53:52 +0800 CST 可以在 Git 中将更改从一个分支推送到另一个分支吗? 772 我最近才开始使用 Git,而且我有一个坏习惯,就是不先创建新分支就开始编程。也就是我直接从分支修改代码master。 是否可以将一个分支中的更改移至另一个分支,从而使分支master保持清洁? git 2 Answers Voted Best Answer fedorqui 2020-06-10T02:56:01+08:002020-06-10T02:56:01+08:00 如果可能的话。 如果你还没有做任何commit 现在你在master. 如果您键入,您git status将看到已修改但未提交的文件列表。 只需创建分支: git checkout -b nueva_rama 此命令创建它并自动将您带到它,并带上所有这些更改。 事实上,如果你git status再次这样做,你会看到这些更改出现在那里,所以这样做commit会将它们推送到那个分支nueva_rama,而不是master. 如果你已经完成commit 在这种情况下,必须先撤消它。如阅读如何撤消 Git 中的最后一次提交?, 用途: git reset HEAD~1 或更多次,如果有更多的提交。从那一刻起,git status它将再次以“未提交”状态显示这些更改。 所以我们回到上一点如果您还没有做任何事情commit,那么请按照这些步骤操作。 您还应该记住,master您将有很多提交要撤消。因此,您必须通过执行返回到之前的状态git checkout <número del último commit válido>。 Daniel Pérez 2020-06-20T07:04:29+08:002020-06-20T07:04:29+08:00 如果您在master中提交了一些提交,您所要做的就是git checkout -b nueva_rama像其他答案所说的那样简单地创建分支,如果您有任何更改而不提交它commit,stash那么您返回您的分支master,git checkout master他们会寻找git log它is with commit 应该是哪个分支master,然后你切换到 master with git reset --hard commit_hash。您应该留下带有您想要的提交的新分支和没有提交的主分支。 如果您还没有拉出任何提交,您只需创建分支并提交您的更改 如果分支已经存在,您可以执行git rebase https://git-scm.com/docs/git-rebase然后在 master 处停止并git reset --hard在第一个示例中执行类似操作
如果可能的话。
如果你还没有做任何
commit
现在你在
master
. 如果您键入,您git status
将看到已修改但未提交的文件列表。只需创建分支:
此命令创建它并自动将您带到它,并带上所有这些更改。
事实上,如果你
git status
再次这样做,你会看到这些更改出现在那里,所以这样做commit
会将它们推送到那个分支nueva_rama
,而不是master
.如果你已经完成
commit
在这种情况下,必须先撤消它。如阅读如何撤消 Git 中的最后一次提交?, 用途:
或更多次,如果有更多的提交。从那一刻起,
git status
它将再次以“未提交”状态显示这些更改。所以我们回到上一点如果您还没有做任何事情
commit
,那么请按照这些步骤操作。您还应该记住,
master
您将有很多提交要撤消。因此,您必须通过执行返回到之前的状态git checkout <número del último commit válido>
。如果您在master中提交了一些提交,您所要做的就是
git checkout -b nueva_rama
像其他答案所说的那样简单地创建分支,如果您有任何更改而不提交它commit
,stash
那么您返回您的分支master
,git checkout master
他们会寻找git log
它is with commit 应该是哪个分支master
,然后你切换到 master withgit reset --hard commit_hash
。您应该留下带有您想要的提交的新分支和没有提交的主分支。如果您还没有拉出任何提交,您只需创建分支并提交您的更改
如果分支已经存在,您可以执行
git rebase
https://git-scm.com/docs/git-rebase然后在 master 处停止并git reset --hard
在第一个示例中执行类似操作