我正在开发一些学校评分软件,并决定使用Github来主持该项目。在我的Ubuntu盒子上构建了一些代码后,我将它推送到Github,然后将其克隆到我的MacBook Pro。编辑MBP上的代码后,我将其推回到Github。第二天早上,我尝试使用git pull
在Ubuntu框上更新我的回购邮件,这给我带来了各种各样的麻烦。
在这种情况下工作的最佳方式是什么?我不想分叉我自己的回购,我真的不想发送自己的电子邮件或拉请求。为什么我不能像对待Github一样对待Github并将其推送到我在不同计算机上的所有个人回购中?
答案 0 :(得分:9)
我会假设您的问题是当您尝试发出git pull
命令时首次创建回购的计算机。
当您克隆现有的git存储库时(就像您在第二台计算机上所做的那样,MacBook Pro),您将自动进行设置,以便git pull
命令自动将遥控器与您的本地更改合并。 / p>
但是,当您最初创建一个存储库然后在远程存储库上共享它时,您必须发出一些命令,使其与克隆的存储库一样自动化。
# 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,因此此repo中的未来git pull
将自动合并所有远程更改。
以下是一些无耻的自我推销。如果你使用Ruby,我已经创建了一个基于Ruby的工具,可以让你用git远程分支处理所有这些事情。毫不奇怪,该工具被称为git_remote_branch: - )
如果你不使用Ruby,我的工具可能会有太多的麻烦安装。您可以做的是查看an old post on my blog,其中明确显示了grb可以为您做的大部分内容。鞭打你的git备注文件: - )
答案 1 :(得分:5)