Git学习 -- 分支合并、版本修改相关

目录

learn GIT Learn Git Branching

merge和rebase的使用

基础命令

版本回退

工作区和暂存区

管理修改

撤销修改

删除修改


learn GIT Learn Git Branching

这是Gitee上的Git学习教程

Learn Git Branching

Git学习 -- 分支合并、版本修改相关_第1张图片

Git学习 -- 分支合并、版本修改相关_第2张图片

Git学习 -- 分支合并、版本修改相关_第3张图片

Git学习 -- 分支合并、版本修改相关_第4张图片

Git学习 -- 分支合并、版本修改相关_第5张图片

Git学习 -- 分支合并、版本修改相关_第6张图片

Git学习 -- 分支合并、版本修改相关_第7张图片

Git Rebase

Learn Git Branching

Git学习 -- 分支合并、版本修改相关_第8张图片

Git学习 -- 分支合并、版本修改相关_第9张图片

Git学习 -- 分支合并、版本修改相关_第10张图片

Git学习 -- 分支合并、版本修改相关_第11张图片

Git学习 -- 分支合并、版本修改相关_第12张图片

最终的实操

Git学习 -- 分支合并、版本修改相关_第13张图片

Git学习 -- 分支合并、版本修改相关_第14张图片

Git学习 -- 分支合并、版本修改相关_第15张图片

merge和rebase的使用

参考:

http://t.csdnimg.cn/JnWfV

https://www.cnblogs.com/michael-xiang/p/13179837.html

Git学习 -- 分支合并、版本修改相关_第16张图片

git merge --abort

git log --graph --pretty=oneline --abbrev-commit

基础命令

以下是一些最基础的命令,不需要过多总结

git add . 将工作区中的全部修改添加到暂存区

git commit -m "xxx" 从暂存区提交到版本库 一般推荐一定要带上-m,后跟上本次提交的注释,这样能更好的进行版本说明和版本回退

git push origin branch 推送到远程仓库的某个分支

git status 查看仓库当前状态 这个命令可以帮助我们时刻掌握仓库当前的状态,比如有哪几个文件被修改了,有哪些文件待提交等等

版本回退

首先引入一个HEAD指针的概念

一般HEAD指针随着你当前分支的切换进行更新(分支切换时,HEAD指针也将指向至当前分支)

Git学习 -- 分支合并、版本修改相关_第17张图片

//图来自廖雪峰的官方网站版本回退 - 廖雪峰的官方网站

使用git reset命令进行版本回退

git reset --hard HEAD^

有几个^ 就表示回退到几个版本前,但是如果需要回退的版本号较多,就使用 “~n“的方式进行回退,n代表着回退的版本数量

比如~1 等价于HEAD^

当然,也可以通过git log获取到全部的版本号之后,选择退回到特定的版本号之前

git log 可以获得版本号,获得版本号之后,你可以只输入版本号的前几位来确定某一个版本号

如果回退之后,后悔进行回退了,需要找到未来(相对于当前位置)的某个版本号进行回归怎么办?

使用 git reflog来寻找你执行过的每一次命令

Git学习 -- 分支合并、版本修改相关_第18张图片

根据每行第一列的commit id来进行reset操作就可以了

补充:使用git diff 查看两个版本间发生的变化

注: 使用--pretty==oneline参数来简化git log的输出信息(将不再包含作者和日期信息)

工作区和暂存区

工作区就是指你当前电脑本地中正在操作的文件,一旦你操作一个文件,他就算是进入了工作区,需要进行后续的提交操作

Git学习 -- 分支合并、版本修改相关_第19张图片

版本库包含暂存区(add之后文件进入的区域)和分支(第一个分支是自动创建的master)

Git学习 -- 分支合并、版本修改相关_第20张图片

Git学习 -- 分支合并、版本修改相关_第21张图片

可以自己touch一个文件后,进行add和commit的操作,在过程中使用git status 获得文件提交过程中的提示信息,对这一过程和工作区、暂存区的概念得到更好的认知

管理修改

git提交的是修改,而不是文件

或者说,提交的是你已经放到暂存区中的文件,如果你首先add,提交了你的第一次修改,随后你再尝试去修改,此时发生了第二次修改,但是你这次修改只存在于工作区中,进行的提交只会提交存在于暂存区中的第一次修改。

可能有些拗口,但这是精简版的说明了,多读几遍应该能够理解

撤销修改

如果我们不小心增加了错误的修改怎么办呢?如何撤销?

文件仍在工作区中,还未添加到暂存区时

使用git checkout -- 撤销对文件的修改

(git checkout -- 中的 --很重要)

文件已经提交到暂存区中了

使用git reset HEAD 将暂存区的修改返回到工作区

此时就可以继续使用提到过的checkout命令将工作区的修改也撤销

如果已经提交到了本地版本库,此时仍然有挽回的余地,使用版本回退git reset <指定的版本>可以在你自己的版本库中进行回退

一旦提交到远程仓库,撤销修改的代价将会非常大

这时需要使用git revert

git revert [commitId] 对commitId执行反向操作,恢复到commitId的上一个commitId的代码

补充:git restore (针对暂存区和工作区)

当一个文件刚被你修改后放入暂存区时(也就是add过了)

此时使用git status

Git学习 -- 分支合并、版本修改相关_第22张图片

可以发现,有一行字提示我们:使用git restore --staged 来进行撤销

或者是希望撤销工作区中的修改时,直接使用git restore

删除修改

待续

你可能感兴趣的:(git,git)