12

我正在开发一些学校评分软件,并决定使用 Github 来托管该项目。在我的 Ubuntu 机器上构建一些代码后,我将其推送到 Github,然后将其克隆到我的 MacBook Pro。在 MBP 上编辑完代码后,我将其推送回 Github。第二天早上,我尝试用 a 更新我在 Ubuntu 机器上的存储库git pull,但它给了我各种麻烦。

在这种情况下最好的工作方式是什么?我不想分叉我自己的仓库,也不想给自己发邮件或拉取请求。为什么我不能像对待大师一样对待 Github 并从它推/拉到我在不同计算机上的所有个人存储库中?

4

2 回答 2

9

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 中的 future 将自动合并所有远程更改。

以下是有点无耻的自吹自擂。如果您使用 Ruby,我已经创建了一个基于 Ruby 的工具,可以让您使用 git 远程分支处理所有这些类型的事情。毫不奇怪,该工具被称为git_remote_branch :-)

如果你不使用 Ruby,我的工具安装起来可能会很麻烦。您可以做的是查看我博客上的一篇旧帖子,其中明确显示了 grb 可以为您做的大部分内容。拿出你的 git 笔记文件 :-)

于 2008-11-21T03:27:49.387 回答
5

您还可以添加多个 SSH 公钥

于 2008-11-21T13:57:26.230 回答