Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/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签出头2问题_Git - Fatal编程技术网

git签出头2问题

git签出头2问题,git,Git,我在主分支上,在推送到远程的提交上做了2次本地提交(未推送)。 我想让我的本地工作主机分支与远程同步。所以我运行了这个命令 git checkout HEAD~2 我成功地将当前工作分支恢复到2提交,并与远程主机同步,但在本地我看到我正在处理“无分支” 因此,我无法进一步执行与此分支相关的拉/推操作。有人能告诉我为什么会出现这种行为吗? 我是git的新手,所以请告诉我我的理解是否有误 问候 Gaurav Kaushik要获得所需,请运行以下命令: git checkout -b newBran

我在主分支上,在推送到远程的提交上做了2次本地提交(未推送)。 我想让我的本地工作主机分支与远程同步。所以我运行了这个命令

git checkout HEAD~2
我成功地将当前工作分支恢复到2提交,并与远程主机同步,但在本地我看到我正在处理“无分支”

因此,我无法进一步执行与此分支相关的拉/推操作。有人能告诉我为什么会出现这种行为吗? 我是git的新手,所以请告诉我我的理解是否有误

问候
Gaurav Kaushik

要获得所需,请运行以下命令:

git checkout -b newBranch && git reset --hard HEAD~2
安全版本:

git checkout -b `date +"%m-%d-%y-%s"`
git commit -am 'automatic';
git checkout master;
git pull;
git checkout -b newBranch && git reset --hard HEAD~2;

你想保持你的两个本地提交吗?你试过git checkout Master吗?这需要附带一个巨大的警告,
git reset--hard
将吹走工作树或索引中未提交的任何更改。也就是说,它是完成这项工作的合适工具。考虑一下你所说的,插入一个替代版本,将更改存储在另一个分支中
git checkout -b `date +"%m-%d-%y-%s"`
git commit -am 'automatic';
git checkout master;
git pull;
git checkout -b newBranch && git reset --hard HEAD~2;