之前管理代码用的是SVN,项目需要将管理代码软件切换为Git 折腾了一天,记录下遇到的小坑,方便后来人。

服务端

服务端 的系统是Windows Sever2008 ,首先在服务端安装window版本的gitblit,具体的安装方法教程很多,

可以参考这篇博文https://www.cnblogs.com/ucos/p/3924720.html,这篇文章写的很详细,初学者详细为王。需要

注意的是启动gitblit 文章的方法是双击批处理文件,我这里需要打开命令行并cd 到文件gitblit.cmd所在的路径,命令

行中运行gitblit.cmd 服务才能正常启动。

图1 启动服务操作示意图

 客户端

  客户端系统是Ubuntu16.04 ,首先需要安装apt,直接命令安装就可以 sudo apt-get git ,接下来是配置git

配置用户名,该用户名需要在Git服务端创建,通过网页的方式登录GitBlit创建用户,并为新用户分配密码,

邮箱。

git config --global user.name  abc 注意abc用户已在服务端创建

配置用户邮箱

git config --global user.name  123456@qq.com 注意123456@qq.com在服务端为abc的邮箱

客户端创建密钥

ssh-keygen -t rsa -C 123456@qq.com  执行该命令后有提示要求输入密码,直接一路回车即可。

服务端添加密钥

客户端 执行ssh-keygen名后在当前用户目录下.ssh文件下会生成文件id_rsa.pub,将改文件的内容

添加的服务端Gitblit 具体的位置如下图所示,需要注意的是要当前的用户abc登录Gitblit,不是admin账号

图2 GitLit添加公有密钥示意图

服务端添加了公有密钥后,客户端pull、push代码不会再提示输入密码。需要注意的Bitblit针对不同的用户分配不同的Url地址,地址格式为

ssh://username@serverip:port/project.git,用户登录Gitblit后可以看到当前用户的Url地址 。

如需交流可加QQ群766718184 或者QQ3501870,该群主要用来交流音视频。

                                         

Gitblit 添加密钥实现客户端无密码pull、push代码的更多相关文章

  1. linux服务器git pull/push时提示输入账号密码之免除设置

    1.先cd到根目录,执行git config --global credential.helper store命令 [root@iZ25mi9h7ayZ ~]# git config --global ...

  2. linux git pull/push时提示输入账号密码之免除设置

    1.先cd到根目录,执行git config --global credential.helper store命令 [root@iZ25mi9h7ayZ ~]# git config --global ...

  3. linux服务器git pull/push时避免频繁输入账号密码

    1.先cd到根目录,执行git config --global credential.helper store命令 [root@iZ25mi9h7ayZ ~]# git config --global ...

  4. docker从私有镜像库pull/push镜像问题:Error response from daemon: Get https://xxxx.com/: x509: certificate signed by unknown authority

    docker从私有镜像库pull/push镜像问题:Error response from daemon: Get https://harbor.op.xxxx.com/v2/: x509: cert ...

  5. Git 一次性 pull push 所有的分支

    /********************************************************************************* * Git 一次性 pull pu ...

  6. git fetch, merge, pull, push需要注意的地方(转)

    在git操作中,我们经常会用到fetch, merge, pull和push等命令,以下是一些我们需要注意的地方. 给大家准备了参考资料: 1. Whatʼs a Fast Forward Merge ...

  7. 解决git pull/push每次都需要输入密码问题 和 HttpRequestException encountered

    如果我们git clone的下载代码的时候是连接的https://而不是git@git (ssh)的形式,当我们操作git pull/push到远程的时候,总是提示我们输入账号和密码才能操作成功,频繁 ...

  8. 创建Python数据分析的Docker镜像+Docker自定义镜像commit,Dockerfile方式解析+pull,push,rmi操作

    实例解析Docker如何通过commit,Dockerfile两种方式自定义Dcoker镜像,对自定义镜像的pull,push,rmi等常用操作,通过实例创建一个Python数据分析开发环境的Dock ...

  9. git fetch, merge, pull, push需要注意的地方

    在git操作中,我们经常会用到fetch, merge, pull和push等命令,以下是一些我们需要注意的地方. 给大家准备了参考资料: 1. Whatʼs a Fast Forward Merge ...

随机推荐

  1. Vim实用技巧(一)

    vim 命令按键规定 标记 含义 x 按一次 x dw 按一次 d, w dap 按一次 d, a, p 同时按 和 n g<C-]> 按 g, 然后同时按 和 ] <C-=> ...

  2. 51nod1769 Clarke and math 2

    题目 实际上就是要求\(f*I^k\). 因为\(I^k\)是一个积性函数,所以我们只需要考虑如何求\(I^k(p^a)\). 把这个东西转化成一个长度为\(k\)的序列,每一位是\(\frac{i_ ...

  3. CyclicBarrier、CountDownLatch、Callable、FutureTask、thread.join() 、wait()、notify()、Condition

    CyclicBarrier使用: import java.util.Random; import java.util.concurrent.BrokenBarrierException; import ...

  4. kotlin学习(8)泛型

    泛型的声明 与Java不同的是,Kotlin要求类型实参要么被显示的说明,要么能被编译器推导出来.因为Java在1.5版本才引入泛型,所以为了兼容过去的版本,可以不直接声明List类型的变量,而不说明 ...

  5. Oracle 查询 in条件个数大于1000的解决方案

    Oracle 查询 in条件个数大于1000的解决方案,我所了解的有如下四种: 1. 把in分组再or: 思路:如果list的长度为2000,可以500个分一组,就有4个组,这4个组之间再or即可. ...

  6. Tabcontrol动态添加TabPage(获取或设置当前选项卡及其属性)

    http://blog.csdn.net/xiongxyt2/article/details/6920575 •MultiLine 属性用true 或false来确定是否可以多行显示 •Appeara ...

  7. oracle数据库中的存储过程

    存储过程是一组为了完成特定功能的sql语句集,是一段sql代码片段,经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数(如果存储过程存在参就给出,不存在就不用给出参数)来执行它.因为它是一段 ...

  8. 深入理解React组件传值(组合和继承)

    在文章之前,先把这句话读三遍 Props 和组合为你提供了清晰而安全地定制组件外观和行为的灵活方式.注意:组件可以接受任意 props,包括基本数据类型,React 元素以及函数. 来源于React中 ...

  9. if_else

    //if.......else if......else //object IF_ELSE {// def main(args:Array[String]){// var x=30// if (x== ...

  10. B1011. A+B 和 C

    题目描述 给定区间[-2^63, 2^63]内的三个整数A.B 和 C,请判断A+B是否大于C 输入格式 第一行给出正整数T(≤10),即测试用例的个数.随后给出T组测试用例,每组占一行,顺序给出A. ...