将公司的SVN和自己的git共存

888 阅读3分钟

方案一: SVNGit共存

具体过程为:

  1. 将项目从SVN服务器拉取下来.
  2. 在根目录创建Git仓库, 添加好忽略文件.gitignore,将.svn文件夹加入忽略。
  3. 将目录里的所有除文件都加入git仓库。
  4. 提交git
  5. .git文件夹加入svn的忽略列表,到此,初始化过程完成。
  6. 在日常的工作中从svn拉取更新后提交到git,或者从git获取更改后提交到svn
 # 创建目录
 mkdir project
 cd project
 ​
 # 拉取svn
 svn checkout https://192.168.1.102/xxxxx
 ​
 # 创建空git项目
 git init
 ​
 # 添加忽略
 touch .gitignore
 cat ".svn" > .gitignore
 ​
 # 提交git
 git add .
 git commit -m "init"

方案二: SVN作为远程分支

该方案将svn当做git的远程分支,并使用git自带的"git svn xxx"系列工具, 具体过程如下:

  1. 使用 git svn clone命令将svn仓库克隆下来。
  2. 此时的仓库已经是一个正常的git仓库, 但是可以查看svn提交的日志信息。
  3. 正常修改内容, 提交git
  4. 使用git stash命令暂存本地修改。
  5. 使用git svn rebase拉取svn仓库最新修改。
  6. 使用git svn dcommit提交修改到svn仓库。
  7. 使用git push提交的git远程仓库。
 mkdir project
 cd project
 ​
 git svn clone https://192.168.1.102/xxx -r 1000:HEAD
 # 默认不带-r参数会克隆所有的svn版本, 可能会因为版本太多而造成失败
 # 这里都传参指定克隆部分版本
 # 或者也使用以下组合命令

 git svn init https://192.168.1.102/xxx
 git svn fetch -r 1000:HEAD #代表克隆从svn版本号1000到最新的内容
 git svn fetch -r 1000 #代表克隆指定的版本
 git svn fetch -r HEAD #代表克隆最新的版本

 ​
 # 添加忽略
 touch .gitignore
 cat ".svn" > .gitignore
 ​
 # 提交git
 git add .
 git commit -m "init"
 ​
 # 拉取svn避免冲突
 git svn rebase
 ​
 # 提交svn
 git svn dcommit
 ​
 # 提交远程git
 git push

这种方式的好处是可以看到svn上面的提交日志, 只是每次提交版本时需要先rebase一下。

git 常用基本命令

 # Git 在线参考手册: http://gitref.justjavac.com
 git config --global user.name "username" # 配置用户名
 git config --global user.email "xx@gmail.com" # 配置邮箱
 git init # 初始化生成一个本地仓库
 git add . # 添加到暂存区
 git commit –m "message" # 提交到本地仓库
 git remote add origin url # 关联到远程仓库
 git push origin master # 推送本地 master 分支到远程 master 分支
 git checkout -b dev # 创建一个开发分支并切换到新分支
 git push ogigin dev # 推送本地 dev 分支到远程 dev 分支
 git pull origin dev # 从远程 dev 分支拉取到本地 dev 分支
 git clone url # 将远程仓库克隆下载到本地
 git checkout -b dev origin/dev # 克隆仓库后切换到 dev 分支

npm/yarn 常用命令

 # npm 命令文档: https://docs.npmjs.com/cli-documentation/
 # yarn 命令文档: https://classic.yarnpkg.com/en/docs
 # 设置淘宝镜像
 npm config set registry https://registry.npm.taobao.org
 yarn config set registry https://registry.npm.taobao.org
 ​
 # 初始化项目:
 npm init -y
 yarn init -y
 ​
 # 下载项目的所有声明的依赖:
 npm instal
 yarn
 ​
 # 下载指定的运行时依赖包:
 yarn add webpack@3.2.1
 npm install 
 ​
 # 下载指定的开发时依赖:
 yarn add webpack@3.2.1 -D
 npm install webpack@3.2.1 -D
 ​
 # 全局下载指定包:
 yarn global add webpack
 npm install webpack -g
 ​
 # 删除依赖包:
 yarn remove webpack
 npm remove webpack -S
 yarn global remove webpack
 npm remove webpack -g
 ​
 # 运行项目中配置的 script:
 yarn run xxx
 npm run xxx
 ​
 # 查看某个包的信息:
 yarn info xxx
 npm info xx