首页 > 其他 > 详细

Git 局域网版本管理

时间:2020-07-13 22:33:14      阅读:59      评论:0      收藏:0      [点我收藏+]

https://blog.csdn.net/github_36878269/article/details/80967388

远程访问子目录:总的根仓库下通常包含多个项目的版本库,因此在关联远程库时会涉及到子目录的访问,方式应为”D:\RootRep\\subRep“.

 局域网中另一台电脑配置及提交:

1、映射网络驱动器

  直接将远程管理仓库映射为根目录,上例中subRep映射为"P:"。

2、将本地仓库关联到远程仓库

  git remote add oriRep P:

3、正常添加、提交本地文件到本地仓库

  依次git add .以及git commit

4、提到到远程仓库。这一部分问题较多。截图记录

  4.1、第一次尝试提交:git pull oriRep master。被拒绝,因为远程仓库中已经有文件,而本地仓库中文件与其不同,应先pull到本地之后再进行提交。

  技术分享图片

  4.2、pull远程仓库内容到本地:git pull oriRep master。失败,refusing to merge unrelated histories,原因是远程仓库和本地仓库的commit没有相同项,git认为是写到错误的版本库, 因此拒绝提交。如果开发者确定是这个仓库,就可以使用 --allow-unrelated-histories来允许。(同理在Push过程中也可以添加此后缀)

  4.3、允许后重新尝试push,结果发现仍然被拒绝。提示pull之后再解决。(网络查找原因解释是远程和本地版本之间存在冲突,但是仍然按照提示重新pull一遍到本地)

    技术分享图片

  4.4、再次pull远程代码,然而在此过程中给出了新的提示,存在未合并的冲突。

  技术分享图片

  4.5、查看并解决冲突。

  技术分享图片

   4.6、冲突解决后,再次提交本地仓库(add and commit)。并再次尝试push到远程仓库,结果仍然失败: refusing to update checked out branch: refs/heads/master

  技术分享图片

  查找原因,由于git默认拒绝了push操作,可能是因为远程仓库在创建时使用了init而导致,最好使用git --bare init(http://blog.haohtml.com/archives/12265)。该问题的解决方案为在.git/config文件后面添加如下代码:

  [receive]
  denyCurrentBranch = ignore

  4.7、再次Push,结果出现写文件被拒绝的错误,Permission denied。网络查找关键字,发现可能出现write、create等,其原因应该一致,由于存在多个运行的git bash,导致权限混乱。因此关掉其它未工作的git bash窗口即可。

   技术分享图片

  4.8、第四次push,终于成功。

  技术分享图片

 

 问题较多,Git学习不系统导致,然而最快的方式仍然是边用边学边总结。

 

 

  

 

Git 局域网版本管理

原文:https://www.cnblogs.com/junhengml/p/13295202.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!