Git 如何通过散列返回commit并将其推入分支
我在使用eclipse和git的项目中工作时遇到了麻烦 我对head做了2次修改,并试图将其推入master,但在eclipse中失败了。所以结果我并没有将我的更改推送到任何分支 然后我键入:Git 如何通过散列返回commit并将其推入分支,git,version-control,Git,Version Control,我在使用eclipse和git的项目中工作时遇到了麻烦 我对head做了2次修改,并试图将其推入master,但在eclipse中失败了。所以结果我并没有将我的更改推送到任何分支 然后我键入: git checkout master git reflog show 这是错误的,因为我“丢失”了我的零钱 但当我打字时: git checkout master git reflog show 我明白了: .....(some of my trying to return to 2bbca5
git checkout master
git reflog show
这是错误的,因为我“丢失”了我的零钱
但当我打字时:
git checkout master
git reflog show
我明白了:
.....(some of my trying to return to 2bbca5f version)
5fe803c HEAD@{11}: checkout: moving from master to new-year-master
a337a12 HEAD@{12}: pull: Fast-forward
2909fde HEAD@{13}: checkout: moving from 2bbca5f6c22a226b8b4ea0e7786dbeb5c7b0187b to master
2bbca5f HEAD@{14}: commit: #: configurable setup for based application // << my latest changes
8902806 HEAD@{15}: commit: #: Structural refactor
a337a12 HEAD@{16}: commit: #: remote test
d3ad16a HEAD@{17}: commit: #: reconfig
0e85a5c HEAD@{18}: commit: #: serial
468d0c6 HEAD@{19}: commit: #: interface
c807292 HEAD@{20}: commit: #: Changes
并将其正确推入master?如果您希望在
master
分支上执行特定的提交,则在签出到分支后,对该提交执行以下操作:
git checkout master
git cherry-pick HEAD@{14}
在确认您已经完成了所需的更改后,执行一次git push
谢谢你,我有两个承诺,我必须合并:2bbca5f头{14}和8902806头{15}。我把这件事做完了。可以使用git reset之类的工具。。。向前移动2bbca5f@MazerytFreager你能更新你的问题来显示你现在的情况吗?合并后,应已创建新的提交id。你想把头移到上一次提交吗?2bbca5f
?我正确地合并了这些提交,一切正常,我只想用一个命令返回状态2bbca5f头{14},而不合并那些提交git reset——硬2bbca5f
就可以了。但这样做之后,您将丢失任何提交(例如,合并提交)。另一种方法是从提交-git checkout-b2bbca5f
创建一个分支。另外,使用git reset--hard
,您将丢失所有本地修改。如果需要,只需执行一次git重置
。