![](/img/trans.png)
[英]Git- made changes on a local branch, checked out master, and master is now broken
[英]Git- local master branch appears to be broken
我正在使用Git管理我的版本控制的Python / Django项目。
在实时服务器上,该网站当前可以正常运行,但是,我对本地副本中一个views
的布局/显示方式进行了一些更改。
为此,当我的本地master分支与最新版本保持同步时,我从master创建了一个名为pipelineProject
的新分支,并开始在该分支上工作。 在pipelineProject
上进行更改时,我在进行更改的过程中“中断”了该网站,并且不得不将该分支恢复为master状态几次。
现在,我已将pipelineProject
分支设置为要正确执行更改的状态-我已运行git add -A
和git commit -m 'message'
以确保备份了我的工作pipelineProject
分支。
但是,在备份pipelineProject
,我随后检出了master
,因为我显然想将更改与master
合并,并且在合并更改之前,我尝试在master
分支上的浏览器中加载我的网站-但由于某些原因,现在损坏...尽管网站已加载,但所有样式均已消失-并且页面仅显示页面中使用的HTML元素的列表(超链接,标题和代码中的一些变量名)
网站的实时版本仍与开始进行这些更改之前的工作状态相同,因此我尝试切换到本地master
分支,并运行git pull origin master
以使用以下副本更新本地master
副本:当前正在服务器上运行。
当我这样做时,git显示一条消息:
已经是最新的
我不明白为什么会这样...如果我的本地管理员是最新的,那么为什么我可以在实时服务器上正确查看该网站,但是当我在本地服务器上查看该网站时,却无法不能正确显示...?
当我在pipelineProject
分支上本地查看网站时,所有网站都可以正常运行(并且所做的更改将按预期显示),但是我不想将pipelineProject
分支合并到本地master
分支中,以防丢失更改我已经成功做到的。
即使live
主机工作时,我的本地master
为什么会损坏? 在将更改推送到实时服务器之前,如何解决此问题?
编辑
只是想一想:既然我的pipelineProject
分支似乎工作正常,是否可以用这个替换我的本地主分支,然后将其推送到服务器?
当现场工作的人与现场工作的人保持最新时,我的本地主人会被打扰吗?
对于您的问题:
git checkout pipelineProject
,使用git checkout pipelineProject
和git branch pipelineProject -u origin/master
,然后删除本地主分支git branch –D master
,最后将pipelineProject重命名为master git branch -m pipelineProject master
git status
进行检查),并且可以使用git log origin/master..master
来查看在origin / master之前的提交。 因此,根据您的情况,您需要删除“断开”的提交,可以使用git reset --hard <commit id which you want go back>
(如果您不愿意删除master分支) 确保您的本地和远程主服务器位于同一提交窗口中
$ git checkout pipelineProject # go to your pipelineProject branch
$ git branch -D master # delete the local master branch
然后上网并复制主人的最后一次提交
$ git checkout paste-commit-sha-here # go to the remote master's last commit
$ git checkout -b master # create & checkout local master branch
用pipelineProject
替换本地主服务器并推送到服务器
$ git checkout pipelineProject # go to your pipelineProject branch
$ git branch -D master # delete the local master branch
$ git checkout -b master # create & checkout new local master
$ git push -f origin master # push to server forcely
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.