我已按照您列出的步骤进行操作,但无法重现您遇到的错误 ( 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更新您的分支。