我最近开始使用Git。我从GitHub服务器中提取了一个项目并开始在开发分支(在我的本地开发分支上跟踪origin / develop remote)上进行工作。我刚刚添加了一个新文件,但没有用Git跟踪它。
与此同时,另一个人还原了origin / develop分支并删除了最新的6次提交。
如何强制同步我的分支与遥控器?我想恢复我的本地分支,以便它与远程一致。我尝试过强制拉力,但它没有工作:
$ git pull origin +develop
From https://***ADDRESS***
* branch develop -> FETCH_HEAD
Already up to date.
$ git status
On branch develop
Your branch is ahead of 'origin/develop' by 6 commits.
(use "git push" to publish your local commits)
答案 0 :(得分:2)
你可以
$ git checkout origin/develop
获取工作目录中的代码副本。然后,或许,樱桃挑选您的更改在顶部(此命令樱桃选择仅指定分支的最后一次提交)。如果您只是添加新文件,这应该是干净的:
$ git cherry-pick develop
然后,可能指向本地分支以反映远程分支(这不会更改任何文件,但会将本地develop
分支指针移动到当前状态):
$ git checkout -B develop
如果您不确定他们做了什么,请阅读Git文档中的每个命令。
答案 1 :(得分:1)
我发现最好的解决方案有时是只删除您的本地分支,然后再次签出:
git branch -D <local_branch_name>
然后签出您的远程分支机构:
git checkout -b <branch_name> origin/<branch_name>
如果您不想丢失当前更改,可以使用'git stash'保存它们