我使用的是以前开发人员的github存储库。
我是这个项目中唯一的编码器,所以我将项目分支到我自己的github存储库。
现在我想对我的回购承诺。
不幸的是,我意识到我从未改变过我的.git / config,因此我仍然致力于旧的回购。我只是将其更改为相应的网址,当我输入时:
$> git status
它返回:
=> Working directory clean.
但我知道这不是因为我做了几件承诺。因此,我的本地框具有与我的存储库中指向的代码不同的代码。
我的问题是这个。显然我已经完成了这个过程的中途。我需要重新分叉更新,然后我很好。或者是否有一个特殊的命令我需要运行以让我的本地方框知道它的'git status'命令是针对一个新的repo来比较自己?同样,我错过了一些非常重要的事情:D?
谢谢大家。
答案 0 :(得分:3)
您可以使用git remote
来管理远程
git remote rename origin old_origin
git remote add origin git://github.com/my/forked/repo.git git fetch origin # will create all the remote branches references # in your local repo
您也可以轻松setup a new upstream获取当前的主分支(git 1.7及更多):
git branch --set-upstream master origin/master
nothing to commit (working directory clean)
的“git status
”消息不会阻止您推送
更改原点后,您应该看到:
$ git status
# On branch master
# Your branch is ahead of 'origin/master' by xxx commits.
#
nothing to commit (working directory clean)
这意味着你有一些提交到你的新起源。
答案 1 :(得分:0)
git status
仅显示工作目录的状态,而不是整个存储库。您似乎只需要更改git push
和git pull
默认使用的遥控器。打开.git/config
并找到您的branch.<branch>
条目并进行更改,以及remote.<remote>
条目。例如,您的master
条目可能如下所示:
[branch "master"]
remote = origin
merge = refs/heads/master
只需将remote
更改为引用您的(分叉)遥控器。
此外,您的远程条目可能如下所示:
[remote "myremote"]
url = git://github.com/me/repo.git
fetch = +refs/heads/*:refs/remotes/origin/*
您可以添加push
条目,以便默认情况下推送master
分支:
[remote "myremote"]
url = git://github.com/me/repo.git
fetch = +refs/heads/*:refs/remotes/origin/*
push = master
答案 2 :(得分:0)
总的来说,我应该把它包含在这个答案中。是我手动改变我的.git / config以包含我的新存储库URL。这就是为什么我没有像冯建议的那样重命名或添加任何来源。
然后我猜对了并执行了
$> git fetch origin
返回
From git@github.com:gotoAndBliss/hq_channel
17326ca..043d395 master -> origin/master
* [new branch] panda_streaming -> origin/panda_streaming
+ 6ec9bf8...becbcc6 testing -> origin/testing (forced update)
然后关于git状态我得到了
# On branch testing
# Your branch is ahead of 'origin/testing' by 9 commits.
我git推动了原点测试,我认为我现在正在攻击目标。