版本控制SVN、Git

SVN

linux下相关操作
1.在 trunk 下 svn copy trunk地址 新建的分支名字(地址)
2.code目录下 svn checkout 分支地址 别名
3.文件夹下checkout分支
4.open这个文件 链接ftp(connection) mapping指向一致!!!!(链接之前不要做任何改动,否则会上传不到ftp!!!)
在phpstorm 做修改 保存后上传到ftp
5.Xshell : svn st
svn diff
测试 (加软链lns <–快捷命令 : ln -nsf /home/code/分支名 别名 )
(软链要在www工作目录下 rm -f 加后缀名字,删除软链) 新建软链 ln -s xxx xxx 不需要新建文件夹
6.svn commit -m “描述上传” (phpstorm 需要VCS-update project 即ctrl+t)
7.(若在phpstorm上commit 需要svn up 若修改中新增文件 需 svn revert -R . (svn revert --depth=infinity .) (删除本地修改))
8.merge trunk (也要提交!!!!!) svn merge trunk地址
9.rdiff 建diff文件
10.切回trunk svn up
svn merge --reintegrate 加分支地址(在trunk下,直接写地址不加引号)
提交(svn ci -m “xxxx”)!!!!! 不然不会合回trunk

11.若想要删除分支代码 rm -rf 加文件夹名字

问题:
1.svn st 文件前有问号时: svn add 文件名(eg:model/xxx.php view/xxxx.tpl)(可以连续多个文件)
2.冲突: 如果合并主干,即:svn merge trunk地址 的时候报冲突,
即trunk上和自己本地都对同一个文件做了修改。
【解决】那么先合并(选p),然后进到开发机 vi 该文件做修改,wq(保存)。
然后 svn resolved 冲突文件名 把本地 merge 时自动生成两个临时文件删除,然后再 svn ci。
3.提交后,为了以防万一,用 diff 确认一下本次修改:
svn diff trunk 地址 branch地址
4.如果一段时间发现问题,又不能修复,回滚trunk

cd ~/ald_trunk/trunk;		#到trunk目录下

svn log -l20; //查看最近提交的日志,找到要回滚的版本号

svn merge -r rxxx:ryyy “” //从rxxx回滚到ryyy

svn ci -m “rollback to ryyy: reason xx(回滚原因)xxx”

5.rdiff出现问题:
This command must be run in a Git, Mercurial or Subversion working copy.

svn status
svn up
ll service/ald/check/tempfile.tmp(出问题的文件)
rm -rf /tmp/
type rdiff
vi /home/xxx/xxx/arcanist/bin/rdiff(rdiff目录)
rm -rf /tmp/codetest(删掉有问题的文件就可以了)

GIT

1.git clone master地址
2.git branch 查看分支
3.git branch name 创建分支
4…git checkout name 切换分支
5.git chekout -b name 创建+切换分支
6.git merge name 合并某分支到当前分支
7.git branch -d name 删除分支
8.git branch --remote 查看远程分支
git pull 拉取远程最新代码
git status
git diff
git add .
git status
git commit -a -m ""
git reset --soft HEAD^(撤销commit)
9.git push git push --set-upstream origin xxx 把已提交的文件上传到远程
10.Linux下: git checkout . (恢复所有修改 若有新增文件需要删除)
git pull
gdiff (生成diff)
gdiff --u D61035(上次diff版本)

11.合并分支到主干:
git checkout master —切换主干
git status
git branch —处在的位置
git merge ${name} —需要合并的分支

12.若需要删除远程分支:
先到代码管理库 删掉分支
远程删除分支后本地分支还在:
git checkout master (切到master分支)
git remote prune --dry-run origin 查看哪些该消失但是还存在的分支
git remote prune origin 删除上面展示的所有分支(与远程同步)
git fetch --prune origin 如果没有结果就说明删除完成
git branch -d name 删除该分支

13.git diff 整个文件时,修改换行符LF 或 LCRF:
phpstorm - settings - Editor - code style - Line separator

14.开发时,对于本地的项目中修改不做保存操作(或代码改崩):
git fetch --all (git fetch 指令是下载远程仓库最新内容,不做合并)
git reset --hard origin/master (git reset 指令把HEAD指向master最新版本)
git pull

git merge与rebase的区别

rebase会把你当前分支的 commit 放到公共分支的最后面,所以叫变基。
就好像你从公共分支又重新拉出来这个分支一样。
举例: 
   如果你从 master 拉了个feature分支出来,然后你提交了几个 commit,这个时候刚好有人把他开发的东西合并到 master 了,
   这个时候 master 就比你拉分支的时候多了几个 commit,
   如果这个时候你 rebase master 的话,就会把你当前的几个 commit,放到那个人 commit 的后面。

开发流程

JIRA:
评审-待排期-已排期-开发中-已提测-测试中-测试完成-部署上线-上线完成
wiki:
公共管理平台(共同维护相关文档)
kb:
日志查看平台
Charles:
抓包工具(用于测试)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值