我的git repo现在处于一个奇怪的地方,所以让我解释一下我是如何来到这里的......
cd /var
git clone https://github.com/..... www
cd www
mkdir my-site
mv !(my-site) my-site
cd my-site
现在,当我运行git status
时,它声称已删除每个文件,并且未跟踪my-site
文件夹。有点意义:我移动每个文件
为了尝试纠正这个问题,我做了以下几点:
git init
- 在“my-site”git remote add origin https://github.com/.....
- 让这个回购物成为我原产地的“克隆”git fetch --all
- 确保我知道最近的提交git branch -u origin/master master
- 告诉我当地的主人跟踪原始主人当我这样做时,我收到以下错误:
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
所以我知道我在当地的主人身上,我知道有一个远程主人,但我似乎无法将两者结合在一起。
答案 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,但应该做的工作