前天老师让我们了解git的功能和用法,我就在网下来照着教程学了一段时间,的确是很有用的工具。现在写下一些笔记和感想。
部分资料来自https://git-scm.com/book/zh/v2(git的官方教程是有中文的)
一、git是什么,相比其他工具有什么优势?
git是一种分布式版本控制系统,简单点说就是一种文档管理工具,它可以帮助我们记录文档的每一个版本,并且在需要的时候回退到某个版本,而且可以将自己的改动推送给他人。相比一些使用集中式版本控制系统的工具,使用分布式版本控制系统的git的安全性要更高,毕竟文档并不存储在中央服务器上,通常不会因为服务器问题而出现大范围停工。git本身也是开源且免费的,相比价格昂贵的集中式版本控制系统如IBM的ClearCase更有经济上的优势,更适合个人开发者。
二、准备工作
1.安装Git
首先在https://git-scm.com/上选择适合自己系统的git并下载安装,安装完成后会在开始菜单中创建Git文件夹,其中有三个图标,分别为"Git Bash",Git CMD","Git GUI",选择Git Bash并输入
"$ git config --global user.name "此处输入用户名""
"$ git config --global user.email "此处输入注册邮箱""("$"是git命令行自带的,不用重复输入)
因为是分布式版本控制系统,所以每一台机器都要注册。
因为Windows自带的记事本在编辑文本文件时添加了0xefbbbf字符,目的是说明这个文件是由记事本创建的txt文件。但是这样会导致Git在管理文件时出现问题,所以要使用Notepad++代替记事本创建txt文档(git只能管理纯文本文档,也就是说它并不能管理二进制格式的word文档)。
在https://notepad-plus-plus.org/上下载安装包并安装,而且Notepad++有中文界面,使用起来更像加强版的记事本,界面如下图。
三、git基本操作
1. $ git add "文件名" ----添加文件至缓存区
2. $ git commit -m "注释"----提交之前add的文件至版本库
3. $ git status----显示当前的版本库状态
4. $ git diff “文件名”----显示更改的细节
4. $ git log-----查看更改的历史记录(是文件更改的记录,与下面的reflog不同)
5. $ git reset --hard HEAD~x -----回退到之前的x个版本
6. $ git reflog----输入命令的历史记录
四、实际演练
1.添加文件至缓存区(代码是上学期做的小游戏)
3.连接到GitHub
我是按照教程(https://www.cnblogs.com/flora5/p/7152556.html)来操作的,最后上传结果如下图
五、常见问题和注意事项
1.fatal: Not a git repository (or any of the parent directories): .git----在当前指向的文件夹里找不到库(.git文件夹)
原因可能是:
(1)不小心删了.git文件夹(这个文件夹通常是隐藏的)
(2)根本没创建版本库
(3)当前指向的文件夹不是之前创建版本库的文件夹(这种情况通常发生在之前用过$ cd 命令然后结束工作重启)
解决方法:
(1),(2)的解决方法是用$ git init重新建一个版本库
(3)的解决方法是用$ cd "文件夹名称"转到原先的文件夹里,可以先用$ pwd看看当前指向的文件夹(或者在想创建版本库的文件夹上右键选中“git”)
2.如果真用了windows自带的记事本会出什么问题?
目前我还没发现有什么问题,以后出了问题再补充。。。。。。。。。
3.在git中不能用快捷键如ctrl+c,复制粘贴请右键。