让本地主人跟踪原始主人

时间:2016-09-13 22:08:51

标签: git github version-control

我的git repo现在处于一个奇怪的地方,所以让我解释一下我是如何来到这里的......

  1. cd /var
  2. git clone https://github.com/..... www
  3. cd www
  4. 意识到我想把网站放在www
  5. 的子目录中
  6. mkdir my-site
  7. mv !(my-site) my-site
  8. cd my-site
  9. 现在,当我运行git status时,它声称已删除每个文件,并且未跟踪my-site文件夹。有点意义:我移动每个文件

    为了尝试纠正这个问题,我做了以下几点:

    1. git init - 在“my-site”
    2. 中创建一个新的回购
    3. git remote add origin https://github.com/..... - 让这个回购物成为我原产地的“克隆”
    4. git fetch --all - 确保我知道最近的提交
    5. git branch -u origin/master master - 告诉我当地的主人跟踪原始主人
    6. 当我这样做时,我收到以下错误:

      fatal: branch 'master' does not exist
      

      正在运行git status会给我以下内容:

      On branch master
      
      Initial commit
      
      Untracked files:
        (use "git add <file>..." to include in what will be committed)
      
              ...
      
      nothing added to commit but untracked files present (use "git add" to track)
      

      正在运行git branch -a给我:

      remotes/origin/master
      

      所以我知道我在当地的主人身上,我知道有一个远程主人,但我似乎无法将两者结合在一起。

2 个答案:

答案 0 :(得分:2)

my-site内初始化的仓库中没有提交,这是导致git branch -u origin/master master命令中的打嗝的原因。您可以在git reset origin/master中运行my-site,之后git branch -u origin/master将按预期设置上游。

你也可以吹掉www的所有内容,然后将存储库克隆到www/my-site,这似乎不那么繁琐!

答案 1 :(得分:0)

可能有点啰嗦,但是:

git checkout -b temp-branch
git branch -D master

您可能希望将文件提交到临时分支或存储它们

git checkout origin/master --track
git merge temp-branch

普通家务(不需要)

git branch -D temp-branch

这有点hacky,但应该做的工作

相关问题