zoukankan      html  css  js  c++  java
  • 版本控制(.git + .svn + SourceTree)

    git

    • 分布式版本控制系统
    • 底层C语言
    • 按元数据方式存储,采用SHA-1哈希算法(内容完整性好)
    • 结合GitHub,为开源项目免费提供Git存储
    git config --global user.name "xxx"
    git config --global user.email "xxx@xxx.com"
    

    Git 的工作就是创建和保存项目的快照及与之后的快照进行对比。

    仓库,repository,git中最重要的概念。

    存储概念及分支管理

    • 工作区
    • 暂存区:即stage,.git/index
    • 版本库:.git/

    Git提交代码流程: 工作区->暂存区->本地仓库->远程仓库

    命令备忘

    • git config --list:查看git配置
    • git init dir-name:在dir-name目录下初始化.git目录
    • git add:本地改动写入缓存区
    • git commit:缓存区内容添加到仓库(-m "注释",-a 自动提交本地修改)
    • git reset HEAD:取消已缓存的内容
    • git status -s:查看项目当前状态,即与上次快照对比
    • git diff:查看执行 git status 的结果的详细信息(显示已写入缓存与已修改但尚未写入缓存的改动的区别)
    /*diff 命令*/
    尚未缓存的改动:git diff
    查看已缓存的改动: git diff --cached
    查看已缓存的与未缓存的所有改动:git diff HEAD
    显示摘要而非整个 diff:git diff --stat
    
    • git clone <repo> [<directory>]:克隆到指定目录
    /*几种等效的clone命令*/
    git clone http://github.com/CosmosHua/locate new
    git clone http://github.com/CosmosHua/locate.git new
    git clone git://github.com/CosmosHua/locate new
    git clone git://github.com/CosmosHua/locate.git new
    
    • git mv:移动或重命名
    • git rm:文件删除
    git rm <file>:删除本地文件
    git rm -f <file>:同时删除暂存区的文件
    git rm --cached <file>:从暂存区删除,但本地保留
    

    注意,git checkout慎用。

    SourceTree

    SourceTree回滚提交操作步骤

    [1]. 已提交至暂存区未提交至远程分支情况:参考

    •  选中目的回滚到的提交记录,右键-->将所在分支重置到这次提交->强行合并

    [2]. 已提交至远程分支情况

    • 需开启强制推送权限: Git --> Enable Force Push 
    • 选中历史某次提交,右键 重置当前分支到此次提交 ,选择 强行合并 
    • 选中最新一次提交,即待回滚的错误提交,右键 重置当前分支到此次提交 ,选择 软合并 
    • 正常填写comment并提交即可

    注意,回退指的是内容的回退,而不是提交记录的回退, 具体参考

    问题解决

    [1]. 在 SourceTree 客户端克隆码云分支时,遇到

    Cloning into '本地路径xxx'...
    fatal: The remote end hung up unexpectedly
    error: RPC failed; curl 18 transfer closed with outstanding read data remaining
    

    方法1:在userusername.gitconfig文件中新增配置

    [http]
    postBuffer = 524288000
    

    或直接执行:git config http.postBuffer 524288000

    方法2:SourceTree 高级设置-克隆深度,改成非0
    参考:https://blog.csdn.net/PHY1161460191/article/details/88656003

    [2]. 提交时comment格式有误,需要修改Git的提交comment
    在项目的当前.git目录右键启动git bash

    - git commit --amend -m "新的comment"
    - git log 查看提交历史
    

    [3]. sourcetree客户端卡顿情况

    在sourcetree配置中忽略文件: */package-lock.json 

    svn

    • 集中式版本控制系统
    • 按文件存储
    • 拥有全局的版本号

    TortoiseSVN

  • 相关阅读:
    SVM理论之最优超平面
    回归系列之L1和L2正则化
    Logistic回归明明称呼为回归但为什么是分类算法?
    LTE无线接入三层协议体系结构
    80 道大厂算法高频面试题
    linux内核调试技术之printk
    计算机视觉岗常见面试题
    偏差(Bias)和方差(Variance)——机器学习中的模型选择
    正态分布x/y轴
    Python time strftime()方法
  • 原文地址:https://www.cnblogs.com/wjcx-sqh/p/9257852.html
Copyright © 2011-2022 走看看