版本管理工具git与svn简介

版本管理工具

版本管理工具简介

  • 常见版本管理工具
    • cvs(Concurrent Versions System)
    • vss(Visual SourceSafe)
    • svn 常用的版本管理工具
    • git 流行的版本管理工具(分支管理强于svn)
    • bitkeeper
    • hg
    • cc(ClearCase)

SVN

  • 常用指令
    • checkout 下载代码
    • update 从服务器更新本地代码代码
    • add 向服务器添加文件
    • commit 提交本地的更改到服务器
    • showlog 查看版本日志

GIT

  • git init
    • 新建仓库(即:git目录)
  • git add
    • git add * 向仓库中添加所有文件
    • git add stc/ 向仓库中添加文件夹
    • .gitignore 哪些文件忽略掉
      • 一般这些文件忽略掉
        • *.config
        • *.creator.user
        • *.includes
        • *.files
        • *.bin
        • *.so
        • *.o
    • git add -A 除了.gitignore之外的文件都加入
  • git status
    • 显示工作目录与暂存区状态, 会看到工作区与仓库代码的异同
    • 不显示已经commit过的文件
  • git commit
    • git commit -m "add xxx" -m表示附加代码提交log信息
  • git checkout
    • git checkout xxx checkout xxx目录
  • git log
    • 看历史更新信息
    • 会看到提交点唯一编号, 提交者, 提交时间等
  • git revert
    • git revert +提交点唯一编号 恢复到该提交点
      • 实际没有删除之后的分支, 而是将提交点的代码重新提交一次.
  • git --help
    • git 帮助
  • git branch
    • git branch 1.0 分支1.0
      • 用于控制项目里分支和程碑意义的版本, 避免commit的杂乱
    • git branch -a 查看分支版本
  • git checkout
    • git checkout 1.0 切换到分支1.0
    • git checkout master 切换回主干

git版本彻底回退

  • git checkout 1.0 先切换分支
  • git branch -d master 删除主干代码提示(若为活动分支则提示)
    • git branch -D master 删除分支不提示
  • git branch master 重建空白主干

git多人合作开发

单分支开发

  • 项目经理或管理人员在服务器创建代码库
    • git init test-project --bare
  • 张三从服务器地址xxx克隆代码
    • git clone xxx
  • 张三在本地test-project中写代码
    • 可以git add和git commit到本地仓库
  • 张三最终写好后, 先上传到服务器
    • git push origin master:master
      • 将本地的master分支上传到服务器的master分支, 如果服务器没有该分支则自动创建
      • 李四如果在张三后向master提交代码, 则必须先将本地代码与master同步后才能提交
  • 李四后提交代码
    • git pull 先同步服务器上前人的代码
    • git push origin master:master 再上传自己的代码

多分支开发

  • 张三李四分别在test-project建立自己的分支并开发, push到自己的分支上
  • 管理人员进行分支合并
    • git merge origin/zhangsan ^o, ^s 保存修改
    • git merge origin/lisi 合并lisi代码到当前分支
  • merge冲突
    • 张三李四同时修改同一个地方的代码, 会出现冲突
    • 此时需要沟通保留谁的代码, 并手动处理冲突
  • 遇到里程碑版本则建立版本分支
    • git branch v2.0
    • git push origin v2.0:v2.0
  • 张三李四则在里程碑版本上再修改
    • git merge origin/v2.0
  • 缺点
    • 分支多了以后, 管理混乱
    • 注意: 管理中应明确分支的意义

git其他命令

  • 多仓库保存
    • git remote add myserver http://xxx.com 添加一个仓库服务器
    • git remote del myserver 删除一个仓库服务器myserver
  • 删除服务器分支
    • git push origin :v2.0 将一个空分支push到v2.0覆盖掉

猜你喜欢

转载自www.cnblogs.com/nonsupport/p/8924271.html