我已按照您列出的步骤进行操作,但无法重现您遇到的错误 ( fatal: Where do you want to fetch from today?
)。但是,如果您已按照问题中写出的步骤进行操作,server
则没有任何远程存储库 -git pull
将无法工作,因为server
没有任何远程可以从中提取。我认为这是您遇到错误的原因。
目前,您拥有三个存储库:在服务器上:myProject
、、myRepo
和笔记本电脑 myRepo
上(从 克隆server
)。如果我对这个问题的理解是正确的,你想使用myProject
(on server
) 和myRepo
(on Laptop
) 来工作。我假设您已经myRepo
(on server
) 作为一个集结地,您可以git push
来往git pull
于;你做得对,因为你已经把它设置为一个--bare
存储库,这是一个聪明的举动。
如果您按照triad
他的回答中的说明进行操作,您最终会得到两个存储库:server
,这是一个--bare
存储库,而laptop
. 如果您愿意重新设置存储库,我会按照triad
说明进行操作,如下所示:
--bare
在某处建立一个存储库。这将是一个集结地。称它为有用的东西,比如bareRepository
什么。
- 您有一个包含一些工作的存储库。在该存储库中(在
server
或上laptop
),添加bareRepository
到您的遥控器列表中:git remote add <name> <url>
.
git push
您的工作从 (2) 中的存储库到bareRepository
. 这将确保它bareRepository
是最新的等等。
- 因为您无法使用
bareRepository
,所以在没有工作存储库的计算机上再次克隆它(server
或laptop
)。因为您正在克隆bareRepository
,git 将bareRepository
视为origin
; 您可以git push origin
并且git pull origin
心满意足,而不会用工作树弄乱存储库。
- 一旦您设置了两个工作存储库(一个 on
laptop
,一个 on server
)和一个--bare
存储库(onlaptop
或server
),您应该能够愉快地同步您的工作:
- 做一些工作
git commit
工作
git push origin
- 将工作交给裸仓库
- 在另一台计算机上:
git pull origin
更新您的分支。