这个git repo是如何变得不同步的,我该如何修复它?

时间:2013-09-11 04:01:19

标签: git

我的Mac出现硬件故障,因此我将一个git存储库(包含所有文件的文件夹,包括.git文件)传输到Debian机器。从那个Debian机器,我做了一个提交并推送到origin / master(在Github上)并在那之后对文件进行了一些未提交的更改。

修复Mac后,我将这个repo(包括未提交的更改)从Debian转移回Mac。然后我在Mac上做了一个提交。 Git(通过'git status')报告我在origin / master之前提交了三个提交。但是,如果我比较Mac和Github上的提交历史,我实际上只提前一次提交。

我害怕在不损坏某些东西的情况下推动原点/主人。我是否可以将本地仓库更正为应该提前进行的一次提交,或者是否会自行修复?

1 个答案:

答案 0 :(得分:1)

将本地master分支到临时分支并在本地重置master状态:

git branch temporary master     # create a local branch called 'temporary' based on master
git checkout master             # checkout master if you haven't already
git fetch && git reset --hard origin/master    # reset it to origin

现在查看历史记录(您在master上)并确保其正确无误。如果不是,临时分支是正确的:

git checkout -B master temporary    # reset master branch to temporary's state