不知道大家平时都是怎么去学习git
的,要记忆那么多的命令和参数,我个人是不推荐死记硬背的,以往经验证明卷的越疯狂忘的也越快!
其实简单的理解工作原理和熟练运用少部分常用命令,日常开发问题不大。
给小伙伴们推荐个学习git
命令即好玩又有趣的神器网站 Learning Git Branching,它让学习git
不再那么枯燥乏味,话不多说直接上动图。
![](http://www.itzoo.net/wp-content/uploads/2022/04/41650362537.gif)
在这里你的每一个操作命令都会实时的以动画形式演示出来,这对于初学者理解分支等概念非常的友好。
是不是看着很吊的样子,接下来我们一起体验下。
![](http://www.itzoo.net/wp-content/uploads/2022/04/11650362538.jpg)
这个网站可以说是目前为止我见过学习git
最好的教程了
怕记不住命令? 没关系!
它提供了完善的沙盒命令,在沙盒里你可以实际执行相应的命令,有很好的命令联想功能,不仅如此还能看到每个命令的执行动作情况。
![](http://www.itzoo.net/wp-content/uploads/2022/04/61650362539.gif)
对于每一个git
命令都有非常详细的原理解析和使用说明,当点击模拟执行命的时候,还会以动画的形式演示,非常生动。
![](http://www.itzoo.net/wp-content/uploads/2022/04/11650362540.gif)
经常有小伙伴说我想学XXX,但是网上的内容都不系统,东偏西凑学着学着就坚持不下去了。
这个网站最大的亮点是它通过一系列刺激的关卡挑战,用游戏的形式来学习,给定任务目标,通过提示执行git
命令达到预期效果才算过关。
![](http://www.itzoo.net/wp-content/uploads/2022/04/91650362541.gif)
从Git
命令的基础篇高级篇再到史诗篇,由浅入深逐步深入的学习Git
的操作,非常贴合我们实际工作中的场景,在这个过程中你可能还会发现一些有意思的事情。
下边分享几个高级篇的通关答案,敲了挺长时间才过关,自我提升了不少,哈哈~
撤销变更
git reset HEAD^
git checkout pushed
git revert HEAD
![](http://www.itzoo.net/wp-content/uploads/2022/04/61650362541.png)
交互式Rebase
git rebase -i HEAD~4
![](http://www.itzoo.net/wp-content/uploads/2022/04/11650362542.png)
只取一个提交记录
git rebase -i HEAD~3/git cherry-pick bugFix
git branch -f master bugFix
![](http://www.itzoo.net/wp-content/uploads/2022/04/41650362543.png)
Git Tag
git tag v0 c1
git tag v1 c2
git checkout c2
![](http://www.itzoo.net/wp-content/uploads/2022/04/81650362544.png)
多次Rebase
git rebase master bugFix
git rebase bugFix side
git rebase side another
git branch -f master another
![](http://www.itzoo.net/wp-content/uploads/2022/04/31650362544.png)
两个父节点
git branch bugWork HEAD~^2~
![](http://www.itzoo.net/wp-content/uploads/2022/04/101650362545.png)
纠缠不清的分支
git checkout one
git cherry-pick c4 c3 c2
git checkout two
git cherry-pick c5 c4 c3 c2
git branch -f three c2
![](http://www.itzoo.net/wp-content/uploads/2022/04/01650362546.png)
模拟团队合作
git clone
git fakeTeamwork 2
git commit
git pull
推送主分支
git fetch
git rebase o/master side1
git rebase side1 side2
git rebase side2 side3
git rebase side3 master
git push
![](http://www.itzoo.net/wp-content/uploads/2022/04/101650362547.png)
合并远程仓库
git checkout master
git pull origin master
git merge side1
git merge side2
git merge side3
git push origin master
![](http://www.itzoo.net/wp-content/uploads/2022/04/71650362548.png)
Git Push的参数
git push origin foo:master
git push origin master^:foo
![](http://www.itzoo.net/wp-content/uploads/2022/04/31650362548.png)
Git Fetch的参数
git fetch origin master^:foo
git fetch origin foo:master
git checkout foo
git merge master
![](http://www.itzoo.net/wp-content/uploads/2022/04/61650362549.png)
没有Source的Source
git pull origin :bar
git push origin :foo
![](http://www.itzoo.net/wp-content/uploads/2022/04/91650362550.png)
Git Pull的参数
git pull origin bar:foo
git pull origin master:side
![](http://www.itzoo.net/wp-content/uploads/2022/04/31650362550.png)
我说的再好没有用,不如大家自己动手试一下,是个挺不错的学习网站,摸鱼的时候玩一会!
往期推荐