|
(前部分转来的)
Gitlab默认的配置推荐使用shell命令行与server端进行交互,作为搞SCM的表示无压力,但是作为开发人员还是比较适应windows的
GUI图形管理,方便他们将注意力集中到代码编写上,所以今天刚好接着昨天给大家介绍一下使用windows下的git
client工具实现将本地代码提交到远程服务器.
解决方案:
环境部署
操作系统 Windows7 x64 Sp1
TortoiseGit TortoiseGit-1.8.11.0-64bit.msi
Git Git-1.9.4-preview20140815.exe
Putty PuTTY 0.63
OpenSSH owned by Git
下载地址: http://yunpan.cn/QaaLGsd23BsWL (访问密码 96d7)
注: 此处下载地址中的安装包都为64位版本,32位请另行下载.
一.部署前的准备工作
安装TortoiseGit,Git,Putty,默认下一步安装即可,其中Git为Git client环境安装包,确保windows包含git环境.
二.配置PuTTY authentication agent
在安装TortoiseGit后,可以选择使用OpenSSH客户端还是使用Putty客户端,如果使用的是默认的Putty客户端,由于
TortoiseGit
GUI连接不支持server端自定义端口配置,若GitLab使用的SSH端口为自定义端口,则需要使用PuTTY的authentication
agent去做一个本地的端口转发.
1.首先使用TortoiseGit自带的Puttygen创建本地的公/私钥对
2.点击Generate按钮,在窗口空白处按照提示晃动鼠标,生成公/私钥对,并保存到本地
其中testkey为公钥,testkey.ppk为私钥
3.将窗口生成的Public key粘贴到GitLab站点具体使用账号的SSh Keys内即完成公钥上传.
4.使用PuTTY连接gitlab服务器,open之前需选择之前本地生成的私钥
这里服务端domain为git.example.com
git为Server端SSH For GitLab账户
SSH端口为自定义的2222
5.连接成功会在右下角任务栏出现任务图标
三.配置TortoiseGit
1.从windows开始菜单选择TortoiseGit-Setting工具,在对话框里选择Git项,填写相关info
注: 这里的User
Info中Name建议与你的Gitlab的账户名保持一致,且该账户必须有该project的相关git操作权限,如果没有可能会造成GIT相关操作报
permisson deny错误.当然如果你Gitlab本身刚搭建好,只有系统初始的admin账户,未添加其他账户,则这个权限问题会被系统忽略.
当然另外一种可能是:
大多数国内文档这里未提及这点可能在于国人的windows系统99.9%都是Ghost版本,初始都为admin最高权限,所以这边权限问题直接忽略,但如果你的windows系统是家庭版,或者未使用系统最高权限登陆,则会出现上述报错情况,这个问题也是在我一个朋友那边发现的,他的机子是Surface的Win8家庭版,一般都是普通用户登录,So让我倒持了大半天,终于发现了问题所在…
如果有git相关管理经验的朋友,这里可以解释一下.
2.在D盘新建一个目录,例如”D:\Git”,并进入目录右键目录空白处选择”Git Create repository here…”,弹出对话框点确认,这样即建立了一个本地Git仓库.
3.在该仓库目录下创建一个测试项目文本文件,右键目录空白处,选择Git Commit -> “master” …,在弹出对话框里输入提示注释,选择要加入的版本控制文件,确定即可提交.
4.现在只是在本地实现使用Git管理项目,在此界面若显示Success则本地提交成功,接下来点击Push..,把我们的改动递交到Git服务器上.
5.此时会弹出Push对话框,在Ref – Remote栏里设定当前分支名为master,然后点击Destination – Remote栏的Manage按钮.
6.在弹出的设置对话框中按照如图所示,填写服务器Remote名
称,URL(git@git.yanwenbo.cn:root/tesproject.git),之前保存的本地私钥testkey.ppk,点击
Add New/Save按钮保存这一设置,然后点击确定退出返回之前的对话框.
7.最终确认提交
8.push成功
9. Giblab后台查看提交结果.
大功告成…
注:在工作中使用GitLab与别人共同维护代码的操作如下:
1. 新建文件夹,右击鼠标,点击GitClone,把服务器的代码克隆下来(需要正确填写URL码)
2.克隆下来后,打开文件,就可以对文件进行编辑
3.对克隆下来的文件进行更改并保持后,上图中的绿色标志会变成红色标志。
4.对文件编辑完成后,右击鼠标,点击Git Sync,点击Pull 把当前服务器的文件提取出来,与你更改后的文件进行同步(这样做的原因是,你对文件进行操作的同时,可能其他人已经完成对文件的操作并更新到服务器了,这样做可以防止避免把别人对文件的操作覆盖掉)
5.点击showlog,右击文件,点击Compare with base
6.进入到如下界面,右边为自己编辑后的文件,左边为服务器的文件,如果其他人有对原文件进行了更改,可以通过Use left 按钮把别人更改后的部分复制到自己的文件中,完成后保存退出
7.然后点击commit,添加changelog,点击OK ,然后点击push 。这样就把别人与自己对文件的修改合并起来,并上传到服务器。
—— 2017/2/17 修改 |
|