git remote remove之后,我的本地提交状态发生了变化

时间:2017-07-29 04:42:51

标签: git

我刚做git remote remove origin并再次重新添加相同的远程来源。但是,只有在那之后我才意识到自己陷入了一种我不知道如何恢复的境地,因为在做git remote remove origin之前,我曾经:

$ git status 
On branch master
Your branch is ahead of 'origin/master' by 5 commits.
  (use "git push" to publish your local commits)
nothing to commit, working tree clean

但现在:

$ git status 
On branch master
nothing to commit, working tree clean

我现在该怎么办?如何通过5次提交让git知道我的分支超过'origin / master'?谢谢。

2 个答案:

答案 0 :(得分:3)

只需将您的上游分支设置为指向新的origin

git branch --set-upstream-to origin/master

答案 1 :(得分:1)

它刚刚删除了你与git的连接。你不必担心任何事情,因为这只是连接丢失。您可以再次进行克隆,这很容易解决。

我提供的确切解决方案,我在下面检查以解决您的问题。

执行git remote remove origin时,config目录中的.git文件看起来像这样。

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
[branch "master"]

当您再次使用

进行git连接时
  git remote add origin userName@https://github.com/userName/repoName

它再次创建了git连接,现在,您的.git文件夹config如下所示

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
[branch "master"]
[remote "origin"]
    url = userName@https://github.com/userName/repoName
    fetch = +refs/heads/*:refs/remotes/origin/*

现在,您可以通过

添加upstream
git remote add upstream https://github.com/userName/repoName

git remote -v列出upstream, origin, master等。

现在,您可以pull fetch(或mergemaster}来自pull。我在这里直接git pull https://github.com/userName/repoName<path fill="none" d="M5,60 A50,50 0 0,1 55,10" /> <path fill="none" d="M55,10 A50,50 0 0,1 105,60"/>

现在,一切正常。我查了一切。