我正和两个朋友一起开展一个eclipse项目。我们使用Git(Hub)尽可能高效地工作。问题出在这里:我参与了项目并上传了更改。不幸的是,我的朋友们无法看到我的修改。不过,我仍然可以在eclipse中看到我的新版本。现在我尝试再次上传,但“没有任何内容可以上传”。
然后我使用git fetch
和rebase
来查看是否会发生某些事情。
不幸的是,现在所有的变化都消失了我使用了git commit --amend
,他们“找到了一个名为xx的交换文件,其中包含我上次上传的日期!”。
有谁知道我现在怎样才能回到我的工作版本?
答案 0 :(得分:0)
如果您在搞乱本地历史记录后没有推送您的更改,请使用遥控器重置您的本地。
$ git branch <branch-name> # backup the branch for safety
$ git fetch # sync with remote
$ git reset --hard origin/<branch-name> # reset local branch with remote branch
备用: git reflog
会显示您执行命令的整个git历史记录。复制您想要返回的最后一个工作提交哈希。
$ git reflog
签出该提交。
$ git checkout <commit-hash>
$ git log # see the commit history
如果一切顺利的话。然后结帐到新的分行。如果您对新分支进行任何更改,请执行“添加”,“提交”和“推送”,或者只需“推送到远程”。
$ git checkout -b new-branch # create a new branch called 'new-branch' and checkout to that branch
$ git add .
$ git commit -m 'message'
$ git push origin HEAD # push to remote new-branch