git local vs remote repository

时间:2015-04-10 17:27:29

标签: git tortoisegit

我读到了关于git及其行为的内容,我尝试了一下乌龟git的小实验。现在我不确定真正理解git基础知识,特别是工作区/ index / localRepo / remoteRepo的“位置”......

据我了解,最佳做法是将工作区与localRepository分开。

所以使用tortoiseGit,我创建了一个简单的回购“localRepo.git”。 我还创建了分隔的“workspace”和“workspace2”目录。在每一个中,我克隆了回购。

此时,我认为在“workspace”和commit中创建一个新文件,它应该会显示在“localRepo.git”的“回购浏览器”中,不幸的是情况并非如此......

事实上,我必须做一个push,才能在repo-browser中看到它,并在“workspace2”中获取它,例如

所以这是我的问题,我认为push操作的目的是将我的修改放到远程存储库中,但在这里我认为“localRepo.git”是我的本地存储库.... / p>

基本上,我想我不明白本地存储库和远程存储库之间是否存在差异。

1 个答案:

答案 0 :(得分:0)

  

据我了解,最佳做法是将工作区与localRepository分开。

你从哪里得到这个想法?来自Eclipse的Egit鼓励这一点,但我很少在其他地方看到它。

  

使用tortoiseGit,我创建了一个简单的回购“localRepo.git”。我还创建了分隔的“workspace”和“workspace2”目录。在每一个中,我克隆了回购。

克隆存储库会创建一个新存储库。此时,您有三个本地存储库:一个裸仓库localRepo.git,以及workspaceworkspace2中的两个非裸仓库。

由于您从workspace克隆了workspace2localRepo.git个存储库,因此默认行为是将localRepo.git设置为远程(origin)另外两个。您可以使用

查看配置的遥控器
git remote -v

在大多数情况下,这比你需要的要复杂得多。通常,单个本地存储库就足够了。

  

此时,我认为在“workspace”和commit中创建一个新文件,它应该会显示在“localRepo.git”的“回购浏览器”中,不幸的是情况并非如此

workspace中提交文件会将其提交到该存储库。

  

所以这是我的问题,我认为push操作的目的是将我的修改放到远程存储库中,但在这里我认为“localRepo.git”是我的本地存储库

git push个提交到另一个存储库(通常是远程存储库)。如上所述,localRepo.git被配置为另外两个存储库的名为origin的远程,因此push默认为在那里发送提交。