我正在开发一些学校评分软件,并决定使用Github来主持该项目.在我的Ubuntu盒子上构建了一些代码后,我将它推送到Github,然后将其克隆到我的MacBook Pro.编辑MBP上的代码后,我将其推回到Github.第二天早上,我尝试用U更新我在Ubuntu盒子上的回购git pull
,这给了我各种麻烦.
什么是在这种情况下工作的最佳方式?我不想分叉我自己的回购,我真的不想发送自己的电子邮件或拉请求.为什么我不能像对待Github一样对待Github并将其推送到不同计算机上的所有个人回购中?
我假设您的问题是,当您尝试发出git pull
命令时,您首次创建回购的机器已经废弃了.
当您克隆现有的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 :-)
如果你不使用Ruby,我的工具可能会有太多的麻烦安装.你可以做的是查看我博客上的一篇旧帖子,其中明确显示了grb可以为你做的大部分内容.鞭打你的git备注文件:-)
您还可以添加多个SSH公钥.