学习资料:git 廖雪峰
Git:分布式版本控制系统
CVS,SVN :集中式的版本控制系统
1.安装Git:yum -install git
2.创建版本库:
(1)新建目录:mkdir newgit ps:windows下路径避免中文
(2)git init 命令将目录初始化为仓库,其中.git目录用来跟踪管理版本库
3.向版本库添加文件
(1)git add + 文件名,将文件添加到仓库
(2)git commit -m " balabal ",将文件提交到仓库,参数 -m + "wrote a readme file";命令执行后显示改动信息。git commit可以一次提交多个文件。
补充说明:git只能跟踪文本文件(有编码的txt ,网页,程序代码等)的改动,不支持跟踪二进制文件(图片、视频、word文档)的改动。
4.查看仓库状态及修改内容
git status :查看仓库当前的状态
git diff +文件名:查看文件的修改内容
5.版本回退
git log 命令:查看commit的历史记录,参数--pretty=oneline 可以使输出结果更加直观。
git reset --head +版本信息:回退到特定版本, 其中HEAD表示当前版本,上一个版本为HEAD^,上上个版本为HEAD^^,再之前的版本表示为HEAD~xx(xx为数字,表示当前版本之前的XX个版本 )
版本回退过程场景:
(1)回退到之前的版本 :上述方法,注意回退后最新的版本信息将不会在log中显示。
(2)回退到旧版本后又后悔了,要回退到之前的新版本:
情况一:很快后悔,窗口没关:git reset --hard 版本号(commit id写前几位就好)
情况二:事后后悔:git reflog命令:记录你的每一次命令可以找到commit id.
问题小结:vim编辑警告:warning: LF will be replaced by CRLF in addtest.txt.
原因:Git的换行符价检查功能,LF为Linux下换行符\n,CRLF为回车\r+换行\n(windows下结束一行)。
解决方法:配置git config文件
git config --global core.autocrlf +参数;
参数false 不做任何检查,保持原样;参数input会在add时把CRLF转换成LF,checkout时依然是LF(windows不建议设置此值);参数true在add时将CRLF转换成LF,checkout时再将文件的LF转换为CRLF。
要避免每次看到提示,则可改为false。