如果本地在遥控器之前,如何与遥控器同步?

时间:2018-03-30 16:04:43

标签: git git-remote

我最近开始使用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)

2 个答案:

答案 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'保存它们