更新克隆的 git hub 仓库
Updating a cloned git hub repo
Extremley 初学者问题。
所以我从某人的个人资料中 fork 了一个 git hub repo,然后将 repo 克隆到我的计算机驱动器上。在 git bash 上面写着 (master)。对该目录进行提交和更改会影响我的个人资料上的回购吗?或者在我从中分叉这个项目的 Master 仓库?
不知道master指的是什么。
谢谢,
对于此类问题,我建议您阅读 first 3 chapters of Pro Git,它将解释 Git 模型并帮助您了解其工作原理。
要回答您的问题,首先您需要了解什么是存储库,这本身非常简单:代码库及其相关历史(这还包括代码库的不同版本 - "branches" - 人们可能正在研究)。
Git称为DVCS,即分布式版本控制系统。 "distributed" 是关键——这意味着存储库不对中央机构负责。这也意味着存储库的完整副本存在于每台拥有它副本的计算机上。
在您的例子中,当您 fork GitHub 上的存储库时,您在 GitHub 上创建了自己的存储库副本。当您将它克隆到您的计算机时,您在您的计算机上创建了另一个副本。
大多数 Git 操作将 仅影响您的本地存储库 - 这包括提交、合并等。正好有三个 Git 操作(大多数无论如何,人们将永远与之交互)涉及与其他存储库的交互:push
、fetch
和 pull
.
push
与另一台计算机联系并获取了存储库的副本,并说 "hey, I've got a version of the same repository - I want to copy changes I've made on my repository to your copy"。这就是为什么人们 push
到 GitHub 到 "upload" 他们的代码。
要了解 fetch
和 pull
,您首先需要了解 Git 在 您的 远程存储库的计算机,即其他人托管的存储库,例如Git枢纽。 Git 这样做是因为您的存储库和远程存储库可能不同:假设您在您的存储库上工作,而 Jane 也在她自己的存储库上工作,并且她推送到 GitHub:此时,您的回购协议和 GH 回购协议有分歧。然而,远程永远不会偏离远程存储库本身;它只是远程仓库的旧版本,要更新它,您可以使用 fetch
。当您 fetch
时,您通常还希望 merge
从远程更改为本地分支,这就是 pull
所做的:它结合了 fetch
和 merge
因为这两个操作经常一起完成。
Extremley 初学者问题。 所以我从某人的个人资料中 fork 了一个 git hub repo,然后将 repo 克隆到我的计算机驱动器上。在 git bash 上面写着 (master)。对该目录进行提交和更改会影响我的个人资料上的回购吗?或者在我从中分叉这个项目的 Master 仓库?
不知道master指的是什么。
谢谢,
对于此类问题,我建议您阅读 first 3 chapters of Pro Git,它将解释 Git 模型并帮助您了解其工作原理。
要回答您的问题,首先您需要了解什么是存储库,这本身非常简单:代码库及其相关历史(这还包括代码库的不同版本 - "branches" - 人们可能正在研究)。
Git称为DVCS,即分布式版本控制系统。 "distributed" 是关键——这意味着存储库不对中央机构负责。这也意味着存储库的完整副本存在于每台拥有它副本的计算机上。
在您的例子中,当您 fork GitHub 上的存储库时,您在 GitHub 上创建了自己的存储库副本。当您将它克隆到您的计算机时,您在您的计算机上创建了另一个副本。
大多数 Git 操作将 仅影响您的本地存储库 - 这包括提交、合并等。正好有三个 Git 操作(大多数无论如何,人们将永远与之交互)涉及与其他存储库的交互:push
、fetch
和 pull
.
push
与另一台计算机联系并获取了存储库的副本,并说 "hey, I've got a version of the same repository - I want to copy changes I've made on my repository to your copy"。这就是为什么人们 push
到 GitHub 到 "upload" 他们的代码。
要了解 fetch
和 pull
,您首先需要了解 Git 在 您的 远程存储库的计算机,即其他人托管的存储库,例如Git枢纽。 Git 这样做是因为您的存储库和远程存储库可能不同:假设您在您的存储库上工作,而 Jane 也在她自己的存储库上工作,并且她推送到 GitHub:此时,您的回购协议和 GH 回购协议有分歧。然而,远程永远不会偏离远程存储库本身;它只是远程仓库的旧版本,要更新它,您可以使用 fetch
。当您 fetch
时,您通常还希望 merge
从远程更改为本地分支,这就是 pull
所做的:它结合了 fetch
和 merge
因为这两个操作经常一起完成。