如何正确地从主仓库中提取,更新本地文件,然后将更改推送到自己的仓库?

Posted

技术标签:

【中文标题】如何正确地从主仓库中提取,更新本地文件,然后将更改推送到自己的仓库?【英文标题】:how to properly pull from main repo, update local files, then push changes to own repo? 【发布时间】:2012-03-27 22:58:21 【问题描述】:

是的,我用谷歌搜索过,但找不到这个问题的答案。

首先,我和我的团队都是 hg、bitbucket 等的菜鸟。我们的第一个任务是在 read.txt 中添加我们的名字,每个成员都在自己的机器上完成。现在我们所有人都添加了名字,主仓库也更新了我们所有的名字。

我自己的 repo 是主 repo 的一个分支。它只有一些名字,因为我是第一个添加名字的人。当我从主仓库拉取时,它要求我使用“hg update”,这会用所有名称更新我的本地文件。

这是我的问题:

我的本​​地文件与主存储库相同,但我的分叉存储库不一样。我尝试将更新后的更改推送到我的仓库,但它显示“未找到更改”。

从主存储库中提取更改然后将其推送到我自己的存储库的正确方法是什么?

【问题讨论】:

【参考方案1】:

当您拉取更改时,它会将更改拉到您的本地存储库中。 hg update 更新工作副本(您编辑的文件,而不是 repo,更改已在您的 repo 中,因为您提取它们)。

因此,一旦您提取了更改(到您的本地存储库)并更新了您的工作副本(从您的本地存储库),就没有什么可做的了。

您通常不需要将更改推送到本地存储库(从其他存储库推送除外)。你在回购之间推动。

如果您在工作副本中编辑某些内容,您可以提交它。

一般你:

    使用hg pull ... 拉取更改 使用hg update更新本地仓库 更改工作副本中的某些内容 使用hg commit ...提交对本地仓库的更改 使用 hg push ... 将更改推送到其他一些 repo

还要注意,推和拉是对称操作。

【讨论】:

【参考方案2】:

跟进灵魂检查

您的 pull-push 操作是 repo-repo 方面 您从 local repo 更新工作副本(文件,您可以看到) 您将自己的更改提交到 本地 repo

您可以使用hg fetchhg pull -u 而不是普通的hg pull 更快地在工作副本中获取远程数据

【讨论】:

以上是关于如何正确地从主仓库中提取,更新本地文件,然后将更改推送到自己的仓库?的主要内容,如果未能解决你的问题,请参考以下文章

Gitlab如何将master上的当前代码下拉到本地分支

如何将本地代码上传至git仓库

从heroku中提取更改的数据

写给大忙人看的Git案例总结

如何在svn系统中使用git

更新Ansible Galaxy页面