Git操作总结

2019-11-18  本文已影响0人  快给我饭吃

Git一般只添加数据。你执行的 Git 操作,几乎只往 Git 数据库中增加数据。很难让 Git 执行任何不可逆操作,或者让它以任何方式清除数据。同别的 VCS 一样,未提交更新时有可能丢失或弄乱修改的内容;但是一旦你提交快照到 Git 中,就难以再丢失数据,特别是如果你定期的推送数据库到其它仓库的话。所以,一旦commit过了,那就大胆的玩吧。

本地与推送

20191118094635.png

以上是常用的Git命令图。和远程的交互基本只是push,操作基本都在本地最后push到远程即可。

git bash下键入命令gitk --all可以打开log可视化界面,或者输入git gui可以调出gui界面。

指针与节点

强烈推荐一个在线可视化git实战网址:Learn Git Branch,跟着这个网址实战,就明白了Git指针的灵活与强大

要知道,git中有一个特殊的指针HEAD,表示的是你当前正位于哪里。此外,git中的每个branch分支,都可以看作一个指针。如git branch dev-tmp命令可以在当前HEAD指针处新建一个分支(指针)dev-tmp

Git的魅力在于指针的操作,以下介绍一些指针移动的操作

commit

最简单的就是commit了,每commit一次,HEAD指针向前移动到新的提交,并且当前的分支也向前移动到新的提交。

merge

Git会使用两个分支的末端所指的快照以及这两个分支的工作祖先,做一个简单的三方合并,生成一个节点,并指向该节点。

rebase

rebase是一个强大的命令,他的原理是对比两个节点的差异,并将差异在第三节点上重放,即所谓的“变基”。基于这个原理,他能做到对历史节点进行编辑拆分、删除、复制、粘贴。

checkout

checkout是一个很强大的命令,它的作用是将当前的HEAD指针移向指定的位置,并重置暂存区和工作区。HEAD指针是可以与分支的指针分离的,这时的HEAD指针称为游离指针。

reset

不像checkout,reset命令会同时移动HEAD和分支指针,他有soft, mixed, hard三种参数。

branch

branch分支命令,也是可以用了移动指针的

cherry-pick

cherry-pick拣选,这个命令会挑选指定的节点,重放在当前节点上。

以上。

上一篇 下一篇

猜你喜欢

热点阅读