首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >我怎样才能从Github (Enterprise)下拉一个本地没有的提交?

我怎样才能从Github (Enterprise)下拉一个本地没有的提交?
EN

Stack Overflow用户
提问于 2016-01-06 02:13:40
回答 2查看 1K关注 0票数 14

我意外地在错误的存储库上执行了push --force (打开的术语太多),有效地将主分支重置为更早的提交。

看看我的构建系统,我可以看到commit曾经指向XYZ,但是我没有在本地提交,因为我最近没有执行pull或fetch。代码库在Github中,我可以在Github中导航来查看提交,所以我知道它在那里。

我如何才能下拉提交,这样我就可以将master重置为正确的提交,而不必麻烦推送该更改的开发人员?

EN

回答 2

Stack Overflow用户

发布于 2016-01-06 02:21:09

如果某个分支可以访问XYZ,您可以简单地获取。如果没有,请遵循@weste的说明,让分支指向它,然后获取:

代码语言:javascript
复制
git fetch
git checkout master
git reset --hard XYZ
git push -f origin master
票数 0
EN

Stack Overflow用户

发布于 2018-10-23 17:02:53

据我所知,您目前没有本地提交;但是您可以在不修改工作区的情况下获得它,只需如下所示:

代码语言:javascript
复制
git fetch

在那之后,如果你有当前的修改,或者类似的东西,你可以暂时保存它们:

代码语言:javascript
复制
git stash save "My work to be completed later"

然后您可以移回您的主分支:

代码语言:javascript
复制
git checkout -f master

然后,强制将头部移动到您想要的孤立提交:

代码语言:javascript
复制
git reset --hard XYZ

作为替代方案,如果您更喜欢销毁并重新创建主分支,您可以“移动”到另一个分支,销毁并重新创建主分支:

代码语言:javascript
复制
git checkout -b anyOtherBranch
git branch -D master
git checkout -b master XYZ

最终,推动你的新的主分支;

代码语言:javascript
复制
git push --force origin master
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34618504

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档