• 版本管理工具总结


    SVN

    概念:
    1> Repository 代码仓库,保存代码的仓库
    2> Server 服务器,保存所有版本的代码仓库
    3> Client 客户端,只保存当前用户的代码仓库
    4> 用户名&密码 访问代码仓库需要使用自己的"用户名和密码",从而可以区分出不同的人对代码做的修改

    操作:
    1> checkout 将服务器上最新的代码仓库下载到本地,"只需要做一次"
    2> update 从服务器上将其他人所做的修改下载到本地,"每天上班必须要做的事情"
    3> commit 将工作提交到服务器,"每天下班之前至少做一次"
    • SVN服务器安装(略)
    • SVN常用命令
    切换工作目录
    $ cd 工作目录
    checkout服务器上的代码仓库
    $ svn co http://xxx/svn/xxxx --username=manager --password=manager

    提示:checkout(co)之后,命令行会记录用户名和密码,后续操作不用再另行指定

    查看本地代码库状态
    $ svn st
    错误提示:"is not a working copy",必须在svn的工作目录下才能正确使用svn的命令
    查看svn日志
    $ svn log
    查看某一个文件的日志
    $ svn log filename
    查看某一个文件某个版本的日志
    $ svn log filename@1

    创建文件
    $ touch main.c
    打开并编写文件内容
    $ open main.c

    查看工作目录状态
    $ svn st
    将文件添加到本地版本库中
    $ svn add main.c/main.*
    将文件提交到服务器的版本库中
    $ svn ci -m "备注信息"
    注意:一定要养成写注释的良好习惯

    删除文件
    $ svn rm Person.h
    提交删除
    $ svn ci -m "删除了文件"
    注意:不要使用文件管理器直接删除文件

    撤销修改
    $ svn revert Person.m

    恢复到之前的某个版本
    $ svn update -r 5

    冲突解决
    (p) postpone 对比
    (mc) mine-conflict 使用我的
    (tc) theirs-conflict 使用对方的

    svn st 显示的文件状态

    ' ' 没有修改
    'A' 被添加到本地代码仓库
    'C' 冲突
    'D' 被删除
    'I' 被忽略
    'M' 被修改
    'R' 被替换
    'X' 外部定义创建的版本目录
    '?' 文件没有被添加到本地版本库内
    '!' 文件丢失或者不完整(不是通过svn命令删除的文件)
    '~' 受控文件被其他文件阻隔

    Git

     
    配置用户名和邮箱
    $ git config user.name manager
    $ git config user.email manager@gmail.com
    以上两个命令会将用户信息保存在当前代码仓库中
     
    如果要一次性配置完成可以使用一下命令
    $ git config --global user.name manager
    $ git config --global user.email manager@gmail.com
    以上两个命令会将用户信息保存在用户目录下的 .gitconfig 文件中
    查看当前所有配置
    $ git config -l
     
    创建tag'
    git tag -a v1.4 -m 'my version 1.4’
    显示tag信息
    git show v1.4
    删除标签
    git tag -d v1.0
    推送到远程
    git push origin v1.5
     
    创建分支dev
    git branch dev
    切换到分支dev
    $ git checkout dev
    合并指定分支到当前分支
    git merge dev
     
    回到上一个版本
    $ git reset --hard HEAD
     
     
    回到指定版本号的版本
    $ git reset --hard e695b67
     
    查看分支引用记录
    $ git reflog  
    find . -name ".git" | xargs rm -Rf  //删除文件夹下的所有 .git 文件
     
     
    添加远程仓库地址
    修改远程仓库地址
    git remote set-url origin git@github.com:robbin/robbin_site.git
    手动建立追踪关系
    git branch --set-upstream master origin/next
     
    • 首先从远程的origin的master主分支下载最新的版本到origin/master分支上
    • 然后比较本地的master分支和origin/master分支的差别
    • 最后进行合并
    $ git fetch origin master
    $ git log -p master..origin/master
    $ git merge origin/master
  • 相关阅读:
    26个Jquery使用小技巧(jQuery tips, tricks & solutions)
    JavaScript中Eval()函数的作用
    基于邮件通道的WCF通信系统
    同步一个数据库要发多少个数据包?
    还在写SQL的同志,去喝杯咖啡吧!
    隐藏在程序旮旯中的“安全问题”
    在SQLMAP中使用动态SQL
    SQLSERVER 占了500多M内存,原来的程序无法一次查询出50多W数据了,记录下这个问题的解决过程。
    实例探究字符编码:unicode,utf8,default,gb2312 的区别
    Why to do,What to do,Where to do 与 Lambda表达式!
  • 原文地址:https://www.cnblogs.com/DafaRan/p/7660106.html
Copyright © 2020-2023  润新知