Git ABC - 01

作者: 杨斌_1024 | 来源:发表于2020-05-17 20:23 被阅读0次

概述

git是一种分布式版本控制软件。

Git is an example of a distributed version control system (DVCS) commonly used for open source and commercial software development. DVCSs allow full access to every file, branch, and iteration of a project, and allows every user access to a full and self-contained history of all changes. Unlike once popular centralized version control systems, DVCSs like Git don’t need a constant connection to a central repository. Developers can work anywhere and collaborate asynchronously from any time zone.

常用命令

创建分支: git branch new-branch-name
切换分支: git checkout new-branch-name
本地提交: git commit
本地新建一个当前分支的副本并切换过去:git checkout -b new-branch-name
合并new-branch-name分支到当前分支:git merge new-branch-name
merge本质是两个branch的合并,最终生成一个新的提交记录,而这个提交记录是一个拥有两个父节点的提交记录。
第二种合并分支的方法是 git rebase。Rebase 实际上就是取出一系列的提交记录,“复制”它们,然后在另外一个地方逐个的放下去(Paste)。
把当前分支rebase到master分支:git rebase master

rebase原理

高级命令

在你项目的提交树上前后移动的几种方法
HEAD 总是指向当前分支上最近一次提交记录。大多数修改提交树的 Git 命令都是从改变 HEAD 的指向开始的。
查看当前HEAD的指向:git symbolic-ref HEAD 输出refs/heads/currentBranch
切换到 master 的父节点: git checkout master^
使用 ~<num> 向上移动多个提交记录,如 ~3: git checkout master~4
将 master 分支强制指向 HEAD 的第 3 级父提交: git branch -f master HEAD~3
主要有两种方法用来撤销变更 —— 一是 git reset,还有就是 git revert。
git reset 通过把分支记录回退几个提交记录来实现撤销改动。你可以将这想象成“改写历史”。
为了撤销更改并分享给别人,我们需要使用 git revert
如果你想将一些提交复制到当前所在的位置(HEAD)下面的话, Cherry-pick 是最直接的方式了。
把别的分支的C1,C2提交复制到当前分支:git cherry-pick C1 C2
交互式的 rebase:交互式 rebase 指的是使用带参数 --interactive 的 rebase 命令, 简写为 -i,如果你在命令后增加了这个选项, Git 会打开一个 UI 界面并列出将要被复制到目标分支的备选提交记录,它还会显示每个提交记录的哈希值和提交说明,提交说明有助于你理解这个提交进行了哪些更改:git rebase -i HEAD~4
对某个以前的提交记录进行一些小小的调整:使用rebase -i或者cherry-pick,然后--amend,可以完成。

分离HEAD 切换到 master 的父节点 Git Reset Git Revert cherry-pick git rebase -i HEAD~4 本地栈式(暂时)提交 对某个以前的提交记录进行一些小小的调整(amend,可能造成rebase冲突) 对某个以前的提交记录进行一些小小的调整(使用cherry-pick)
参考Git用法,线上练习git命令

相关文章

  • Git ABC - 01

    概述 git是一种分布式版本控制软件。 Git is an example of a distributed ve...

  • Git Usage

    git 常用命令 git clone -v git@abc.com[mailto:git@abc.com]:efg...

  • git新建项目并上传到服务器

    首先,在本地新建文件夹abc,进入到abc里面,然后git init。这样就在本地初始化了一个git项目abc。 ...

  • Git ABC - 02

    Git Tag用法 练习: git tag v1 C1; git checkout v1; git tag v0 ...

  • Git使用ABC

    git revert commit-id, 回退某个commit 操作,生成一个新的commit 使用例子,明尼苏...

  • 忽略已经提交的文件

    场景描述 比如之前Git中提交了abc.txt文件,现在在.gitignore文件中想忽略.txt文件,但是abc...

  • Git 本地创建分支并提交远程分支

    1.创建本地分支git branch 分支名,例如:git branch branch_abc 2.切换本地分支g...

  • Framework---Mybatis

    一、重点知识 git 监视的是文件内容的修改 $ git checkout -- abc.txt : 其实是用版本...

  • git ignore骚操作

    参考:git ignore的骚操作:https://www.jianshu.com/p/a49124700abc ...

  • Git

    00. git 基础 廖雪峰老师-Git教程 01. git config config 配置有【01】syste...

网友评论

    本文标题:Git ABC - 01

    本文链接:https://www.haomeiwen.com/subject/smfeohtx.html