Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用git和移动半裸回购?_Git - Fatal编程技术网

如何使用git和移动半裸回购?

如何使用git和移动半裸回购?,git,Git,我在我的私有服务器上有一个中央git存储库(即--bare存储库)。克隆和使用它是完美的。 无法从web访问该服务器!我的回购协议没有网络访问选项 当我不在办公室的时候,我会把我的源代码复制到我的U盘上,然后再把内容复制到国外的pc上(因为直接在U盘上工作会很慢)。 在该pc上完成工作后,必须将代码复制回斗杆,然后复制到中央主存储库 我想的是,在我的情况下,什么是最好的工作流程? Maybee U盘也应该是一个裸存储库?外国个人电脑将致力于此。但是,有没有可能在没有任何错误行为的情况下,将棍棒回

我在我的私有服务器上有一个中央git存储库(即--bare存储库)。克隆和使用它是完美的。 无法从web访问该服务器!我的回购协议没有网络访问选项

当我不在办公室的时候,我会把我的源代码复制到我的U盘上,然后再把内容复制到国外的pc上(因为直接在U盘上工作会很慢)。 在该pc上完成工作后,必须将代码复制回斗杆,然后复制到中央主存储库

我想的是,在我的情况下,什么是最好的工作流程? Maybee U盘也应该是一个裸存储库?外国个人电脑将致力于此。但是,有没有可能在没有任何错误行为的情况下,将棍棒回购协议的变更合并到中央存储库中

我希望我能很好地解释我的环境


谢谢你的帮助

是的,使用USB驱动器作为裸存储库绝对是一个可行的解决方案,如果你问我的话,这是一个相当优雅的解决方案。然后,您可以推送到它并从中获取,就像使用中央存储库一样

Git很好地支持多个远程(广义上)存储库(“remote”),因此在您的office PC上,您只需添加USB驱动器作为第二个远程。根据您的使用情况,有时可能需要使用合并来再次同步两个不同的远程设备,但这与正常的合并没有什么不同。至少对Git来说没有什么区别

下面是一个简明的示例:

# setup bare repo on USB drive, e.g. using 'git clone --bare'
# on office PC
(work work work)
git remote add stick /path/to/repo/on/stick
git push stick <branches> # can use --all
# elsewhere
git clone /path/to/repo/on/stick
(work work work)
git push stick <branches>
# back in office
git fetch stick
(compare diffs or whatever you like)
git merge stick/mybranch
# etc.
#在USB驱动器上设置裸机回购,例如使用“git clone--bare”
#在office PC上
(工作)
git远程添加棍棒/path/to/repo/on/stick
git推杆#可以使用--所有
#别处
git克隆/path/to/repo/on/stick
(工作)
吉特推杆
#回到办公室
吉特取回棒
(比较差异或任何你喜欢的)
git合并棒/mybranch
#等等。
当然,如果你愿意,也可以使用rebase