在推动之前,我想检查一下我要推动的是什么。为此,我执行了:
git cherry -v
我收到了一份提交消息的提交列表。但是,有些消息我无法识别为我的。然后我用
git show {SHA-1}
我看到提交的作者不是我而是另一个开发者。我很惊讶,因为我已经预料到在我的本地存储库中我只有我的提交。这些其他提交如何进入我的存储库?
答案 0 :(得分:2)
git是一个分布式源代码控制系统。 repo的每个克隆都是repo的完整副本,允许您执行几乎所有源代码控制操作,而无需连接到中央服务器。 (当然,您必须连接的唯一时间是分享更改。如果需要,甚至可以通过使用捆绑文件的“sneaker-net”方法来完成。)
因此,当你克隆一个repo时,你会得到每个人的提交。当您获取(或拉取)时,您将获得每个人的提交,并将这些提交添加到您的本地仓库中。这是必要的;例如,您如何将您的更改与其他开发人员的更改集成(同时保留在分布式工作流中工作的能力)?
如果您希望将更改与其他开发人员的更改隔离开来,那就是分支策略的问题。