zoukankan      html  css  js  c++  java
  • Git

    学习git很好的地址(https://learngitbranching.js.org/)

    1. git commit 提交记录看作是项目的快照。提交记录非常轻量,可以快速地在这些提交记录之间切换!
    2. git branch Git 的分支也非常轻量。它们只是简单地指向某个提交纪录
        (1) git branch newBranch  创建一个名为newBranch的分支
        (2) git checkout newImage 切换分支
        (3) git checkout -b <your-branch-name> 创建并切换到新分支
    
    3.合并分支
        (1)git merge 合并俩个分支时会产生一个特殊的提交记录,它有俩个父节点(翻译成俩个父节点本身及它们所有的祖先都包含进来)
        (2)git rebase  实际上就是取出一系列的提交记录,“复制”它们,然后在另外一个地方逐个的放下去。Rebase 的优势就是可以创造更线性的提交历史。如果只允许使用 Rebase 的话,代码库的提交历史将会变得异常清晰。
    
    4.在提交树上移动
        (1) "HEAD"。 HEAD 是一个对当前检出记录的符号引用 —— 也就是指向你正在其基础上进行工作的提交记录。HEAD 总是指向当前分支上最近一次提交记录。大多数修改提交树的 Git 命令都是从改变 HEAD 的指向开始的。HEAD 通常情况下是指向分支名的
        (2)"相对引用"。指定提交记录哈希值的方式在 Git 中移动不太方便。并且哈希值在真实的 Git 世界中也会更长。例如前一关的介绍中的提交记录的哈希值可能是 fed2da64c0efc5293610bdd892f82a58e8cbc5d8。比较令人欣慰的是,Git 对哈希的处理很智能。你只需要提供能够唯一标识提交记录的前几个字符即可。因此我可以仅输入fed2 而不是上面的一长串字符。通过哈希值指定提交记录很不方便,所以 Git 引入了相对引用。这个就很厉害了! 使用相对引用的话,你就可以从一个易于记忆的地方(比如bugFix 分支或 HEAD)开始计算。相对引用非常给力,这里我介绍两个简单的用法:
        1.  使用 ^ 向上移动 1 个提交记录
        2.  使用 ~<num> 向上移动多个提交记录,如 ~3
        (3)强制修改分支位置 git branch -f master HEAD~3 这个命令会将 master 分支强制指向 HEAD 的第 3 级父提交。
        
    
    5.撤销变更
        (1) git reset 通过把分支记录回退几个提交记录来实现撤销改动。你可以将这想象成“改写历史”。git reset 向上移动分支,原来指向的提交记录就跟从来没有提交过一样。例 gie reset HEAD~1.虽然在你的本地分支中使用 git reset 很方便,但是这种“改写历史”的方法对大家一起使用的远程分支是无效的!
        (2) git revert 将远程分支退回上个版本,git revert HEAD
    
  • 相关阅读:
    滚动数组
    leetcode动态规划
    初中数学学习
    LCS最长公共子序列
    Help Jimmy
    IntelliJ IDEA 设置和查看内存使用
    无法嵌入互操作类型“ApplicationClass”。请改用适用的接口
    代码重构与单元测试——重构6:使用“多态”取代条件表达式(九)
    一个屌丝程序猿的人生(一百二十六)
    一个屌丝程序猿的人生(一百二十五)
  • 原文地址:https://www.cnblogs.com/lei--lei/p/10480751.html
Copyright © 2011-2022 走看看