关于git的知识量如果细讲的话真多很多,关键是入脑的究竟有多少才是关键,之前面对两家企业的面试都有涉及到git方面的技术问题上,首先在这里先比较下git和Svn究竟有什么区别?在细致讲讲git。
一、关于git和Svn的区别
大家都知道最大的区别就是:git是分布式的版本控制系统,而Svn是集中式的版本控制系统,也就是说版本库是集中放在中央服务器的,最大的毛病就是要联网才能工作,最大的缺陷是一旦中央服务器出现故障的时候,整个系统就处于瘫痪状态了,所有人都没法工作了。
所以linux的开发者为了完善Svn这些缺点,自己研发了git作为linux开源自家使用的版本控制系统,并慢慢不断的推广开发,如今,git越来越壮大,具备的优点有:安全性高,不需要联网就能实现操作,因为每个版本库都在本地自己的电脑上,所以相当于每一台电脑都是中央服务器。当然git还有其极其强大的分支管理等。
二、关于git的操作
1.安装git的就略过了,网上很多教程。
2.创建版本库:
初始化版本库:
git init 添加到版本库: git add file.txt 提交到版本库:git commit -m "添加了一个文件"
3.查看版本库当前状况:git status
4.查看修改内容:git diff
5.查看历史记录:git log
6.回退版本:git reset --hard head^(回退上一个版本) git reset --hard head^^(回退两个版本之前,之后可以这样写 head~100)
7.查看命令历史(每一次命令): git reflog (记住每个版本的都有一个版本id也就是commit id)
8..撤销版本:git checkout -- file.txt
9.删除文件: git rm file.txt