我正在开发一些学校评分软件,并决定使用
Github来托管该项目.在我的Ubuntu盒子上构建一些代码之后,我将其推送到Github,然后将其克隆到我的MacBook Pro上.在编辑MBP上的代码之后,我将其推回到Github.第二天早上,我试图用git pull在Ubuntu盒子上更新我的回购,给了我各种各样的麻烦.
在这种情况下最好的工作方式是什么?我不想叉我自己的回购,我真的不想发送自己的电子邮件或拉请求.为什么我不能像一个主人那样对待Github,然后把它从我的个人电脑上推到不同的电脑上?
解决方法
我会假设你的问题是,当您尝试发出git pull命令时,您首次创建该repo的计算机已经被剥离了.
当您克隆现有的Git存储库(就像您在第二台机器上使用的MacBook Pro)时,您将自动设置,因此您的git pull命令将自动将远程与您的本地更改合并.
但是,当您最初创建一个repo然后在远程存储库中共享它时,您必须发出一些命令,使其与克隆的repo一样自动化.
# GitHub gives you that instruction,you've already done that # git remote add origin git@github.com:user_name/repo_name.git # GitHub doesn't specify the following instructions git config branch.master.remote origin git config branch.master.merge refs/heads/master
这些最后几个指令配置git,所以未来的git pull从这个repo将自动合并所有远程更改.
以下是一些无耻的自我推广.如果您使用Ruby,我已经创建了一个基于Ruby的工具,可以使用git远程分支处理所有这些事情.该工具被称为,毫不奇怪,git_remote_branch