我读到了关于git及其行为的内容,我尝试了一下乌龟git的小实验。现在我不确定真正理解git基础知识,特别是工作区/ index / localRepo / remoteRepo的“位置”......
据我了解,最佳做法是将工作区与localRepository
分开。
所以使用tortoiseGit,我创建了一个简单的回购“localRepo.git
”。
我还创建了分隔的“workspace
”和“workspace2
”目录。在每一个中,我克隆了回购。
此时,我认为在“workspace
”和commit
中创建一个新文件,它应该会显示在“localRepo.git
”的“回购浏览器”中,不幸的是情况并非如此......
事实上,我必须做一个push
,才能在repo-browser中看到它,并在“workspace2
”中获取它,例如
所以这是我的问题,我认为push
操作的目的是将我的修改放到远程存储库中,但在这里我认为“localRepo.git
”是我的本地存储库.... / p>
基本上,我想我不明白本地存储库和远程存储库之间是否存在差异。
答案 0 :(得分:0)
据我了解,最佳做法是将工作区与localRepository分开。
你从哪里得到这个想法?来自Eclipse的Egit鼓励这一点,但我很少在其他地方看到它。
使用tortoiseGit,我创建了一个简单的回购“
localRepo.git
”。我还创建了分隔的“workspace
”和“workspace2
”目录。在每一个中,我克隆了回购。
克隆存储库会创建一个新存储库。此时,您有三个本地存储库:一个裸仓库localRepo.git
,以及workspace
和workspace2
中的两个非裸仓库。
由于您从workspace
克隆了workspace2
和localRepo.git
个存储库,因此默认行为是将localRepo.git
设置为远程(origin
)另外两个。您可以使用
git remote -v
在大多数情况下,这比你需要的要复杂得多。通常,单个本地存储库就足够了。
此时,我认为在“
workspace
”和commit
中创建一个新文件,它应该会显示在“localRepo.git
”的“回购浏览器”中,不幸的是情况并非如此
在workspace
中提交文件会将其提交到该存储库。
所以这是我的问题,我认为
push
操作的目的是将我的修改放到远程存储库中,但在这里我认为“localRepo.git
”是我的本地存储库
git push
个提交到另一个存储库(通常是远程存储库)。如上所述,localRepo.git
被配置为另外两个存储库的名为origin
的远程,因此push
默认为在那里发送提交。