git可视化工具—GitKraken

1.推荐一款git的可视化工具

gitKraken,这款工具操作比较方便,UI也是我喜欢的风格,对没有太多git使用经验的新手比较友好,学习成本相对较低。尤其喜欢的一点就是它的分支和提交非常清晰。

git可视化工具—GitKraken_第1张图片

2.git进阶命令
1.pull

取回远程主机某个分支的更新,再与本地的指定分支合并,pull = fetch + merge

//快进式合并
git pull(fast-forward if possible)
git pull(fast-forward only)

//rebase
git pull(rebase)
    
//从远程分支获取最新内容,但是不合并。
git fetch 
2.merge和rebase

合并分支,将当前分支移动到其他分支

//两个词的字面意思: into 就是进入;到...里面  onto 移到...上面

使用场景:本地master分支开发,远程master分支有新提交,需要合并远程分支到本地分支继续开发。

原始分支:
   A---B---C  remotes/origin/master
          /
     D---E---F---G  master(本地)


//将另一先提交的的分支合并到自己分支,然后继续开发,两条线
merge 分支1 into 分支2

         A---B---C remotes/origin/master
        /         \
   D---E---F---G---H master(本地)


//rebase到另一先提交的分支上继续开发,一条线
rebase 分支1 onto 分支2

      remotes/origin/master
                   |
   D---E---A---B---C---F'---G' master(本地)
3.stash

保存当前进度的代码

//保存当前工作进度,会把暂存区和工作区的改动保存起来。
git stash
//显示保存进度的列表
git stash list
//恢复最新的进度到工作区
git stash pop
//除了不删除恢复的进度之外,其余和git stash pop 命令一样
git stash apply
//删除一个存储的进度。
git stash drop
//删除所有存储的进度。
git stash clear
4.push

将代码提交到远程仓库

//将本地分支内容提交到远程分支
git push
5.cherrypick commit

将其他分支的某个提交合并到当前分支

a--b--c--d--e--f   master
	\	
	 g--h--i--j   test
当前在test分支,现在需要master的e提交的功能,在e 执行cherryPick commit
a--b--c--d--e--f
	\
	 g--h--i--j--e
6.reset commit

将一个分支的末端指向另一个提交。这可以用来移除当前分支的一些提交,这两个提交之后会被删除。

soft  缓存区和工作目录都不会被改变

mixed  默认选项。缓存区和你指定的提交同步,但工作目录不受影响(只将缓存区的移除,工作目录不变)
结果:工作目录不变,需要

Hard 缓存区和工作目录都同步到你指定的提交(二者都移除)
结果:在指定commit处执行reset hard,该处commit之后的所有提交被删除,没有记录
7.revert commit

在指定的某个提交上revert commit,他会做一个新的commit(去掉revert的commit)

如图:在c commit执行revert,结果会在F之后提交一个新的commit,该commit不包含c commit的内容

A---B---C---F remotes/origin/master					A---B---C---F---new(没有c的提交)
	   /					revert commit c -->			   /	
  D---E master(本地)								    D---E	
8.checkout

1.切换分支 2.用于从历史提交(或者 stage 缓存)中拷贝文件到工作目录

参考:

猴子都能懂的git入门

代码回滚

最后、欢迎关注我的小订阅号

关注公众号,后台回复 “福利” 二字,分享一些不错的编程视频。

git可视化工具—GitKraken_第2张图片

你可能感兴趣的:(git)