Commit d48dd01a authored by 王进波's avatar 王进波

update

parent b8a23b57
# 从SVN迁移到Git的一些资料
《从SVN到Git》 是这个项目最初的主体内容,后来将逐渐扩充了其他方面的内容。
## 目录
- [从SVN到Git](doc/从SVN到Git.md)
## Git安装部署和配置
- [Git安装配置和操作基本操作演示](doc/从SVN到Git.md)
- [签出正式开发代码,修改,提交](doc/签出正式开发代码,修改,提交.md)
- [Git 基础](doc/Git 基础.md)
- [常用命令行](doc/常用命令行.md)
- [让Git支持Windows Symbolic link](doc/让Git支持Windows Symbolic link.md)
- [Nginx 配置文件nginx.conf中文详解](doc/Nginx 配置文件nginx.conf中文详解.md)
- [关于12.1服务器的配置](doc/关于12.1服务器的配置.md)
- [Git同步密码输入错误后设置重新验证](doc/Git 使用Http(s)协议同步时修改验证.md)
## 代码调整和部署说明
- [关于ConfCenter和Web4移出服务代码的更新](doc/对于ConfCenter和Web4移出服务代码的更新.md)
- [Git 使用Http(s)协议同步时修改验证](doc/Git 使用Http(s)协议同步时修改验证.md)
- [让Git支持Windows Symbolic link](doc/让Git支持Windows Symbolic link.md)
- [部署环境搭建--面向实施](doc/部署环境搭建--面向实施.md)
## 其他文档
## Markdown
Markdown 是一种轻量级纯文本格式语法的修饰语言,可以轻松转换成 HTML 和其他很多种格式。Markdown常用于格式化 readme 文件,在网络论坛中编辑消息,以及使用纯文本编辑器创建富文本内容。由于Markdown的初步描述包含含糊不清和未解答的问题,所以多年来,Markdown出现了许多实现和扩展来回答这些问题
- [Nginx 配置文件nginx.conf中文详解](doc/Nginx 配置文件nginx.conf中文详解.md)
- [关于12.1服务器的配置](doc/关于12.1服务器的配置.md)
- [常用命令行](doc/常用命令行.md)
- [Git 基础](doc/Git 基础.md)
我在 [工具](./工具) 文件夹里面提供了`markdown viewer.crx` 这个Chrome浏览器插件,安装后可以直接在Chrome浏览器中查看MardDown文档
安装好以后需要在扩展设置中打开这个插件的`允许读取文件路径`的 选项,不然浏览器只能打开网络上的MarkDown文件当,无法打开本地文件
# 用BeyondCompare 同步代码
[BeyondCompare](https://civgit.vicp.net:8443/wangjinbo/Svn-to-Git/blob/master/%E5%B7%A5%E5%85%B7/Beyond%20CompareHA.7z)工具对比自己本地SVN代码和从Gitlab clone下来的代码,将本机的改动手动更新到本地Git working copy
BeyondCompare工具我在本项目的工具文件夹中上传了,需要的可以自己[下载](https://civgit.vicp.net:8443/wangjinbo/Svn-to-Git/blob/master/%E5%B7%A5%E5%85%B7/Beyond%20CompareHA.7z),或者去网上找
> 在这步操作过程中,我们优先同步自己修改的代码部分,对于代码内容存在差异的,如果是我们自己改的,能够判断哪边最新,就可以手动同步,如果不是我们修改的,不能判断的情况下,保留原样,不做修改,以Git目录为准就可以了
> 还有一处需要注意的是,如果存在一个项目或者一个文件夹,你本地开发环境里有,Git环境里没有的话,需要看这部分项目和文件夹是否是之前武汉中地的项目上的代码,因为我们在整理Git代码的时候已经将这一部分项目上的代码删掉了,注意不要在这个地方再次还原回去了
>
> 例如 ”Code/业务系统“ 下的的几个项目,在Git中已经被删除了
>
> - CityServer.Maintenance.ChengDu
> - CityServer.Maintenance.HZBJ
> - CityServer.Maintenance.SXBH
> - CityServer.Maintenance.Wujiang
> 在CityInterface项目中有很多文本内容相同,行尾结束符存在差异的情况,例如一边是UNIX一边是PC,或者一边是MIX一边是PC,**以PC为准**
>
> PC即Windows风格的CRLF,MIX是指当前文件存在UNIX与Windows风格混用的情况。
1. 打开BeyondCompare,对比文件夹
![1533613314761](../../imgs/1533613314761.png)
2. 在左右两侧地址栏输入对比的代码文件夹路径,打开对比
![1533613477906](../../imgs/1533613477906.png)
红色为差异项,需要我们手动确认更新到Git本地working copy中
![1533613570298](../../imgs/1533613570298.png)
3. 将显示内容设置为显示差异项,然后在差异文件夹上右键,对比文件夹内容(对比文件二进制),然后二进制相同项就会自动隐藏,剩下的是需要我们手动打开查看内容的
![1533613963943](../../imgs/1533614043956.png)
4. 对于我们在本地开发环境中新增的文件或文件夹,如果不是编译产生的,则可以复制到Git目录一侧,如果是文件内容差异,我们可以将我们在文件中新增的内容复制到Git一侧
![1533614370956](../../imgs/1533614370956.png)
这样的编译文件目录我们就不要拷贝了
![1533614524279](../../imgs/1533614524279.png)
如此,最终我们就完成了将本地开发环境迁移到Git的过程了,建议大家暂时保留原有的开发环境,后续开发我们就可以在Git环境上完成了
上面示例的是CityWebService的过程,Web4的过程相同。
\ No newline at end of file
......@@ -18,13 +18,7 @@
## 安装Git-Windows
Git-Windows [下载地址](https://git-scm.com/) ,在Git官网找到下载的链接 ,下载对应操作系统版本的 Git 安装包。虽然提供了下载好的安装程序,但是仍然建议大家自己动手去熟悉这个过程。
> Git-Windows 安装过程如下,Git-Windows是Windows版本的命令行 Git 客户端工具,安装完以后就可以在命令行中完成大多数代码同步操作
Git-Windows 下载地址[Git-2.18.0-64-bit.exe](../../%E5%B7%A5%E5%85%B7/Git-2.18.0-64-bit.exe)
### 开始安装界面
......@@ -63,10 +57,26 @@ Git-Windows [下载地址](https://git-scm.com/) ,在Git官网找到下载的
### 配置行尾结束符
- **这个地方请大家选择第三个** ,这里是一个巨坑,请注意 !!!!!!!!
- 不同操作系统下的换行符有不同规范,Windows使用CRLF(即回车 + 换行: \r\n)结束一行,Mac和 Linux下使用LF(即换行:\r)结束一行。
- 我们目前基本在Windows平台上开发和部署,不涉及跨平台问题,过去我们在编辑器(VS)中一般默认使用的是CRLF行尾结束符,过去我们使用的 SVN 仓库里也是使用的 CRLF,因此目前我们在 Git 中继续使用 CRLF 规范,作为开发者,我们需要统一规范,避免代码中出现行尾结束符混用的问题。
- Git 一开始是用于管理Linux内核代码的,后来推广开以后,为了兼容Windows操作系统,它提供了一些行尾结束符转换的策略,这些策略可以在我们 `检出``commit` 代码的时候,由Git自动帮助我们完成 CRLF 和 LF 的转换。
- 这个地方,我们不采用用 Git 的自动转换策略,我们希望在 `检出``commit` 代码的时候保留代码原有的行尾结束符。
- Windows换行符是CRLF,即我们常用的\r\n,Linux平台的换行符是LF,为了兼容跨平台开发的需求,Gti默认会使用下面第一个选项,Checkout Windows-style,commit Unix-style line endings,即签出时转换为Windows风格,提交时转换为Unix风格,如果选默认的,我们以后每次提交,代码都会被转换成Unix风格,因为我们全部是Windows平台开发的,代码都是Windows风格换行,而且命令行里会出现一大堆转换日志,十分不美观,而且没必要
- 这里我们选第三个选项,不执行自动转换,本地是什么风格,commit的时候就按原样提交
- 如果在安装这一步选错了,还可以通过命令行来配置该选项
```shell
git config --global core.autocrlf false
git config --global core.safecrlf true
```
如果需要检查自己本地的配置是否正确,可以执行命令
```shell
git config --global core.autocrlf #结果为false则是正确的,不执行自动转换
git config --global core.safecrlf #结果为tru则是正确的,不允许混合风格的提交
```
![img](https://upload-images.jianshu.io/upload_images/1625340-6f1357783077497e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/582)
......@@ -107,3 +117,6 @@ Git-Windows [下载地址](https://git-scm.com/) ,在Git官网找到下载的
- `git config --global core.autocrlf false` 要设置为false,这样 Git 会按照原样 `检出``commit`代码,不会自动转换
- `git config --global core.safecrlf true` 要设置为true,当 Git 检测到我们的代码中存在 `CRLF``LF` 混用的情况时会组织我们提交。
第四步,允许Windows符号链接
- `git config --global core.symlinks true` ,这里设置为true才可以正确下载我们部分代码项目
\ No newline at end of file
# 从SVN到Git
edit-by:王进波 2018.08
- [安装Git-Windows](FromSVNToGit/InstallGitWindows.md)
- [安装TotoiseGit](FromSVNToGit/InstallTotoiseGit.md)
- [Git 常用操作命令](FromSVNToGit/CommenCmd.md)
- [Git 账号与学习资料](FromSVNToGit/GitlabAccount.md)
- [创建新仓库](FromSVNToGit/CreateNewRepository.md)
- [命令行演示常用操作](FromSVNToGit/DemonstrateInCmd.md)
- [图形界面的Git - SourceTree](FromSVNToGit/DemonstrateInSourceTree.md)
# 从SVN到Git
edit-by:王进波 2018.08
- [安装Git-Windows](FromSVNToGit/InstallGitWindows.md)
- [安装TotoiseGit](https://civgit.vicp.net:8443/wangjinbo/Svn-to-Git/blob/master/doc/FromSVNToGit/InstallTotoiseGit.md)
- [Git 常用操作命令](https://civgit.vicp.net:8443/wangjinbo/Svn-to-Git/blob/master/doc/FromSVNToGit/CommenCmd.md)
- [Git 账号与学习资料](https://civgit.vicp.net:8443/wangjinbo/Svn-to-Git/blob/master/doc/FromSVNToGit/GitlabAccount.md)
- [创建新仓库](https://civgit.vicp.net:8443/wangjinbo/Svn-to-Git/blob/master/doc/FromSVNToGit/CreateNewRepository.md)
- [命令行演示常用操作](https://civgit.vicp.net:8443/wangjinbo/Svn-to-Git/blob/master/doc/FromSVNToGit/DemonstrateInCmd.md)
- [图形界面的Git - SourceTree](https://civgit.vicp.net:8443/wangjinbo/Svn-to-Git/blob/master/doc/FromSVNToGit/DemonstrateInSourceTree.md)
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)*
- [CityWebService服务代码结构调整](#citywebservice%E6%9C%8D%E5%8A%A1%E4%BB%A3%E7%A0%81%E7%BB%93%E6%9E%84%E8%B0%83%E6%95%B4)
- [对开发环境有什么影响?](#%E5%AF%B9%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%E6%9C%89%E4%BB%80%E4%B9%88%E5%BD%B1%E5%93%8D)
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
# CityWebService服务代码结构调整
edit-by:王进波-2018.08.10
......
......@@ -10,7 +10,8 @@
- [ConfCenter为文件夹](#confcenter%E4%B8%BA%E6%96%87%E4%BB%B6%E5%A4%B9)
- [ConfCenter是符号链接](#confcenter%E6%98%AF%E7%AC%A6%E5%8F%B7%E9%93%BE%E6%8E%A5)
- [ConfCenter在CivWebPublish同级](#confcenter%E5%9C%A8civwebpublish%E5%90%8C%E7%BA%A7)
- [symlink](#symlink)
- [站点更新操作](#%E7%AB%99%E7%82%B9%E6%9B%B4%E6%96%B0%E6%93%8D%E4%BD%9C)
- [symlink](#symlink)
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
......@@ -43,7 +44,7 @@ CivWebPublish对ConfCenter存在依赖关系,先下载ConfCenter库,ConfCent
用管理员权限启动Cmd命令行,或者PowerShell,或者Git Bash,执行下述命令
```shell
cd <folder name> #导航到部署文件夹<folder name>下
cd <folder name> #导航到部署文件夹<folder name>下,如果是Cmd命令行,则cd 后面加上 /d 参数
git clone https://civgit.vicp.net:8443/CivDevelope/ConfCenter.git #clone ConfCenter
#弹出验证窗口,口令:gitlab+deploy-token-10 密码:tPPy6xZxTU2SYqznimfx
......@@ -69,12 +70,8 @@ CivWebPublish对ConfCenter存在依赖关系,先下载ConfCenter库,ConfCent
更新部署根据部署环境中ConfCenter文件夹的位置分几种情况:
- ConfCenter在CivWebPublish内部
- ConfCenter为文件夹
- ConfCenter为符号链接
- ConfCenter与CivWebPublish同级
- ConfCenter在CivWebPublish内部,即早期ConfCenter文件夹放在CivWebPublish文件夹里面时部署的站点
- ConfCenter与CivWebPublish同级,即后来ConfCenter文件夹拿到CivWebPublish外面之后部署的站点
### ConfCenter在CivWebPublish内部
......@@ -93,7 +90,7 @@ CivWebPublish对ConfCenter存在依赖关系,先下载ConfCenter库,ConfCent
Cmd,或PowerShell,或Git Bash 需要管理员权限启动。
``` shell
cd <folder name> #导航到部署文件夹<folder name>下
cd <folder name> #导航到部署文件夹<folder name>下,如果是Cmd命令行,则cd 后面加上 /d 参数
git config --global core.symlinks true
git clone https://civgit.vicp.net:8443/CivPublish/CivWebPublish.git
......@@ -120,7 +117,7 @@ ConfCenter文件夹与CivWebPublish同级,则删除CivWebPublish后重新Clone
用理员权限启动Cmd,或PowerShell,或Git Bash
```shell
cd <folder name> #导航到部署文件夹<folder name>
cd <folder name> #导航到部署文件夹<folder name>,如果是Cmd命令行,则cd 后面加上 /d 参数
git config --global core.symlinks true
git clone https://civgit.vicp.net:8443/CivPublish/CivWebPublish.git
......@@ -131,7 +128,24 @@ git clone https://civgit.vicp.net:8443/CivPublish/CivWebPublish.git
### symlink
## 站点更新操作
站点更新只需要更新CivWebPublish文件夹,ConfCenter是配置中心,不通过Git来更新。
更新步骤:
```shell
cd CivWebPublish #导航到CivWebPublish目录,如果是Cmd命令行,则cd 命令后面加上 /d 参数
git status #检查本地有没有文件被修改,如果显示有文件修改,则在本地提交修改
git add .
git commit -m "commit for pull" #这两步提交本地修改
git pull #从远程仓库拉取更新,检查输出结果是有错
```
# symlink
- 符号链接的文件夹图标左下角有快捷方式的箭头
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment