很抱歉提出一个可能被问过一千次的问题。但我甚至不知道类似的问题可能是什么样的。
我正在使用mac终端(osx-mavericks)
如果我理解术语很好,我的不是分支分支,它实际上只是本地副本的主人。出现分歧的原因是我在对本地回购进行一些更改之前忘了拉大师。现在我需要合并,但推送不起作用。
master :github.com上的远程仓库
本地回购:我本地计算机上的代码
答案 0 :(得分:3)
这是一个三步过程:
按照通常的方式行事:
git add --all .
git commit -m "the local changes that I have made"
然后按照通常的方式拉动:
git pull somerepo master
我认为你已经知道如何提交以及如何基于对话进行提取
为了安全起见,拉动之后,我喜欢马上推。
答案 1 :(得分:2)
首先,确保您的本地仓库知道远程仓库中的所有内容:运行
git fetch
现在,根据您的问题和评论,我猜测您的本地仓库看起来像这样:
生活在当地仓库中的master
分支在某种程度上与居住在当地仓库中的master
分支不同。在这种情况下,Git不允许您将(本地)master
分支推送到远程分支。
通过"同步两个",我假设您的意思是组合master
上的更改和projectname/master
上的更改。
你基本上有两种方法:合并或变基。
在继续操作之前,请确保您已通过
运行master
git checkout master
(在下文中,我假设您的本地存储库知道名为projectname
的远程存储库。)
运行
git merge projectname/master
您的回购将如下所示:
之后,只需运行
git push projectname master
和master
和projectname/master
应该是最新的(即指向同一个提交):
运行
git rebase projectname/master
你的回购应该是这样的:
之后,只需运行
git push projectname master
和master
和projectname/master
应该是最新的(即指向同一个提交):
答案 2 :(得分:-1)
我不确定您是如何创建本地GIT系统的。
根据您的描述,您创建了一个本地回购????你想与github.com上的回购同步它???同步2回购是非传统的。
但是,我正在为github.com上的repo(远程主分支指定为origin / master)提供解决方案,并在系统上指定为本地主分支的远程主分支的本地跟踪副本。
结帐输出命令 git remote show origin 。它应输出如下。
HEAD branch: master
Remote branch:
master tracked
Local branch configured for 'git pull':
master merges with remote master
如果不是,那么你会采用其他不常规的东西。
您是否使用 git clone 或 git init 创建了本地GIT系统???
传统方式:
希望它会有所帮助。