设置要推送到的git存储库


2

老实说,我不确定该如何表达这个问题,但这是一个更好的解释。

我们有一个Git服务器正在处理我们所有的项目。现在显然我已经在工作中将这些存储库拉到了台式机上。但是,我可以通过VPN连接将工作场所中的存储库从工作中的台式机拉到家用PC。

当我完成在家中的某些工作时,我想在工作中推送到台式机,而不是直接推送到主服务器。如何设置我的工作台式机,以便可以在家中使用它。

当前,当我尝试从家中推入工作机时,出现以下错误:

git push remoteName branchName
致命:'remotePath'似乎不是git存储库


了解您用于遥控器的URL将很有帮助。
grawity 2011年

Answers:


3

确保remotePath指向现有的Git存储库。使用git init创建一个。

workpc$ mkdir ~/git
workpc$ git init --bare ~/git/myproject.git

homepc$ git remote add workpc username@workpc.example.net:git/myproject.git
homepc$ git push workpc master

笔记:

  • 不要直接推入已签出的分支。

    • 大多数人将其推入一个单独的“裸露”存储库(如示例中所示),并对其克隆进行所有编辑。(是的,即使在同一台机器上。)

    • 或者,您可以使用进入一个单独的分支git push workpc master:fromhome,然后开始工作git merge fromhome

  • 通常.git,像在上面的示例中一样,在裸存储库名称后附加“ ”,但这不是必需的。


您已经指出了我以前没有做过的事情,通常我只是指定'git init',我从未指定它是否应为--bare,而且我从未真正命名存储库!去试试吧!谢谢!
StevenMcD 2011年

1
@FailBoy:它们的区别非常小的:init给你一个工作树和.git使用Git数据的目录,init --bare直接把所有的Git数据到存储库,没有工作树。后者用于“远程”,您可以将其推入,拉出但从不直接编辑。同样,给存储库一个名称init无非就是用这个名称创建一个新目录mkdir
grawity 2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.