git切换repository步骤

最近由于公司内部搭建了gitlab服务器,需要将原来托管在码云上面的代码迁移到公司内部gitlab,因为想保留之前的change log,所以没有使用copy文件副本,然后再push到repository的方式;网上搜索后,可以使用git push --mirror git-url的方式进行迁移,操作过程中,也遇到了一些问题,记录下来,希望能够帮到遇到相同问题的人。
下面进入正题,在push之前,需要clone一个版本库到本地,在git bash中,录入以下命令
git clone --bare <repository> <directory.git>
其中repository为代码在原服务器的地址,directory.git为版本库存放的目录名。建议先建好存放版本库的文件夹,然后直接git bash切换到对应目录。我是用的命令如下:


image.png

命令执行完成后,在对应目录就会有个*.git的文件夹


image.png

然后使用cd project name.git,将操作路径切换到project name.git下面,其中project name为第一步里面的directory.git 参数的文件名

第二步,检查一下自己的操作用户是否有权限将文件提交到git 的master分支上,这一步非常重要,不然会出现【You are not allowed to push code to this project xxxxxxx , pre-receive hook declined】的错误。


image.png

查看权限在项目的Settings → Repository 下面,展开Protected Branches这一项,可以看到如下信息


image.png

可以看到,我的项目,只有master角色的用户才能够修改master分支。

第三步,确认自己有权限后,就可以进行最后一步的操作了
git push --mirror <repository>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. 安装 Github 查看是否安装git: $ git config --global user.name "...
    Albert_Sun阅读 13,740评论 9 163
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,080评论 19 139
  • 1:手摇算法(内存翻转) 第一次见到这个是在做字符串转换的时候见到的,不知道是手摇算法;问题是这样: 给定字符串 ...
    clshinem阅读 2,560评论 5 3
  • 有三个月没有跟上永城大大的课程和公众号了。看到其他伙伴日复一日在公众号留言,真是非常愧疚,借口不必多说。现在开始好...
    采薇1阅读 575评论 0 1
  • /proc/sys目录下存放着大多数的内核参数,并且设计成可以在系统运行的同时进行更改,不过重新启动机器后会失效,...
    Ryans阅读 4,164评论 0 0