我认为我不小心从跟踪原点大师那里解开了我的主分支。以前我可以运行git pull
和git push
,它会知道我的意思是git push origin master
,但现在却没有,我认为它正在追踪一个不同的分支,因为{{1}工作正常(一切都是最新的)和git push origin master
告诉我它不能快进变化。
这是git push
的样子:
git branch -a
不确定ianstormtaylor:nib Storm$ git branch -a
* master
original
transforms
remotes/origin/HEAD -> origin/master
remotes/origin/master
remotes/origin/sizing
remotes/origin/transforms
是否是混乱的部分。
我认为这一切都源于remotes/origin/HEAD -> origin/master
来电,当我打算做git merge origin sizing
时(在主人身上)。
任何人都知道发生了什么并能够提供帮助吗?我只想回到git merge sizing
创建的默认远程跟踪设置。
答案 0 :(得分:3)
您需要的所有Git配置(执行git config -e
编辑)如下:
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = /Users/me/test.git
[branch "master"]
remote = origin
merge = refs/heads/master
如果它在那里,来自master的git push
将等同于git push origin master
remotes/origin/HEAD -> origin/master
部分只是说远程起源的HEAD是主分支(原点)并且很好。
答案 1 :(得分:1)
我已经发生了几次这种情况 - 虽然我不确定确切的原因,但我不相信这是因为你犯了一个错误。相反,它只是git pull是最新远程分支的快捷方式,它忘记了最新的分支是什么。
执行git pull origin master
通常会更新设置并重置所有内容。
答案 2 :(得分:1)
我想您可以编辑.git / config文件或使用
设置配置git config branch.master.remote origin
git config branch.master.merge refs/heads/master
或者,使用-t
(--tracking
)选项
两者都应在.git/config
中生成与 this 类似的部分:
[branch "master"]
remote = origin
merge = refs/heads/master
答案 3 :(得分:1)
您可以使用
git branch --set-upstream my_branch origin / my_branch
可选地
git push -u origin my_branch
有关详细信息,请参阅Git: Why do I need to do --set-upstream
all the time?。