目录
三、通过命令 git init 把这个目录变成git可以管理的仓库
1.创建文件test.txt --- 此刻文件在工作区(WorkSpace)
2.使用命令 git add test.txt添加到暂存区里面去
(2)通过checkout上一个版本的文件来覆盖修改后的文件
一、创建版本库
在D盘下新建一个文件夹(testGit),右键通过命令行的方式打开窗口
二、pwd 命令是用于显示当前的目录
三、通过命令 git init 把这个目录变成git可以管理的仓库
查看刚才建的文件夹,会发现testGit目录下多了一个.git的目录;这个目录是Git来跟踪管理版本的,没事千万不要手动乱改这个目录里面的文件,否则,会把git仓库给破坏了。
如果发现没有,就把查看--显示--文件扩展名和隐藏的项目打开
四、ll
Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。
.git里面内容如下:
五、添加文件和修改提交文件
首先要明确下,所有的版本控制系统,只能跟踪文本文件的改动,比如txt文件,网页,所有程序的代码等,Git也不列外,版本控制系统可以告诉你每次的改动,但是图片,视频这些二进制文件,虽能也能由版本控制系统管理,但没法跟踪文件的变化,只能把二进制文件每次改动串起来,也就是知道图片从1kb变成2kb,但是到底改了啥,版本控制也不知道。
1.创建文件test.txt --- 此刻文件在工作区(WorkSpace)
通过git status可以查看文件追踪的情况
2.使用命令 git add test.txt添加到暂存区里面去
①如果要提交多个文件
我们可以在add后面指定文件的列表
git add test2.txt test3.txt
②如果想要添加工作区所有文件到暂存区
git add .
3.可以通过提示的话来撤销回工作区
git rm --cached test.txt
4.提交文件到主分支
git commit -m 'first commit'
git commit命令,-m后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录,而且这个内容是必须要写的
邮箱、姓名:
再重新提交,没有东西了,现在已经到了版本库,合并了分支
5.修改文件,查看git状态
发现文件进入工作区
此刻界面上有两个提示:
(1)提交修改后的文件
(2)通过checkout上一个版本的文件来覆盖修改后的文件
git checkout -- test.txt
六、版本回退
1.日志查看
现在已经对test.txt文件做了好几次修改了,查看历史记录
git log
git log命令显示从最近到最远的显示日志,可以看到最近的提交,嫌上面的信息太多的话,可以用 git log --pretty=oneline 命令
2.版本回退和撤销
(1)版本回退
想把版本回退到上一个版本,可以用git reset --hard HEAD^,要回退到上上个版本可以用git reset --hard HEAD^^,以此类推,但是肯定不方便,可以用简便点的命令:git reset --hard HEAD~100
未会回退前的test.txt内容:
回退到上一次提交:
也可以通过sha1的前四位来做回退
git reset –-hard 792e
(2)回退撤销
可以看到 增加update 2内容 没有了,但是现在我想回退到最新的版本,就是恢复有update 2的内容
可以通过版本号回退,使用命令方法如下:
git reset --hard 版本号
但是现在我不知道update 2内容的版本号,可以通过如下命令即可获取到版本号
git reflog
通过上面的显示可以知道,增加内容update 2的版本号是 229cd77;现在可以使用命令
git reset --hard 229cd77 (229cd77写成229c也可以)
查看撤销后的结果:
3.删除文件
添加并提交了多个文件
一般情况下,可以直接在文件目录中把文件删了,或者使用如rm命令:rm b.txt ,如果想彻底从版本库中删掉了此文件的话,可以再执行commit命令 提交掉。
git rm test.txt
可以发现删除的文件直接进入暂存区(此刻需要注意,如果使用rm删除不在暂存区,需要git add才会进入暂存区。如果进入暂存区可以退回工作区,使用下面命令 git reset HEAD test.txt),提交之后文件被删除。
七、Git配置信息config
1.config概述
在git中,我们使用git config 命令用来配置git的配置文件,git配置级别主要有以下3类:
1、仓库级别 local 【优先级最高】-----当前仓库
2、用户级别 global【优先级次之】-----系统用户
3、系统级别 system【优先级最低】-----git(安装目录)里面
git 仓库级别对应的配置文件是当前仓库下的.git/config
git 用户级别对应的配置文件是用户宿主目录下的~/.gitconfig
git系统级别对应的配置文件是git安装目录下的 /etc/gitconfig
也可以在cmd命令提示符中输入以下查看配置信息
git config --local -l
git config --global -l
git config --system -l
2.config修改
修改用户名和邮箱:
git config --global user.name "***"
git config --global user.email "***"
注意不要手动修改 每个级别的配置文件,要用命令。
对于git来说,配置文件的权重是仓库>全局>系统。Git会使用这一系列的配置文件来存储你定义的偏好,它首先会查找/etc/gitconfig文件(系统级),该文件含有对系统上所有用户及他们所拥有的仓库都生效的配置值。接下来Git会查找每个用户的~/.gitconfig文件(全局级)。最后Git会查找由用户定义的各个库中Git目录下的配置文件.git/config(仓库级),该文件中的值只对当前所属仓库有效。