Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 如何通过散列返回commit并将其推入分支_Git_Version Control - Fatal编程技术网

Git 如何通过散列返回commit并将其推入分支

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

我在使用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 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重置