版本控制工具--svn和git的使用(三) -----git的使用(1)

安装

git官网就有git各个系统的安装包,可以根据自己系统安装相应的安装包。
window的git安装包 依据国内网速原因,将安装放到网盘里,链接: https://pan.baidu.com/s/1kWDLHDP 密码: hkmx
默认安装就欧了,最后的结果就是在桌面点击右键,出现 git bash Here和git GUI Here 代表安装成功

操作:
在一个文件夹里点击服务进入终端(window直接右键进入git命令面板)

首先第一次使用git时,需要进行账号和邮箱绑定,因为git是分布式管理系统,每个人的电脑上都有自己的git,因此就有了每一个账号和邮箱
$ git config --global user.name "Your Name"。 ----自己的名字
$ git config --global user.email "email@example.com" ----邮箱,我建议用gitHub的对应的邮箱就好
(--global 代表 全局 ,这台电脑都能使用这git的配置)

git在mac的终端和window的git面板的输入的命令都是相似的,对于其他的系统我没有试过。复习时我用mac的终端进行操作

初始化仓库: 新建一个空的仓库,
新建一个文件夹,启动这个文件夹的终端: git init 之后会有一个隐藏的.git的存在,在mac看不到,可以输入ls -ah查看,这就代表创建了git空仓库。结果如下:

我们开发了一个文件叫 text.html,放到该文件夹中,下面就要放到git仓库里了,按顺序依次输入:
git add text.html
git commit -m ‘第一次提交‘

git add 代表把选中的文件放到暂存区中。
(单个文件放到暂存区中 git add 文件名<有后缀名>
多个文件放到暂存区中 git add .)
git commit 是将暂存区的文件全部提交到仓库里去。 (-m代表的是提交的说明,就是引号里面的内容)

对于add和commit的注意事项:
1.只有add之后才能commit
2.add之后又在工作区修改了内容,再commit,只提交了add在暂存区的文件,工作区的依然没提交。
3.可以add多次,最后时 一次commit就可以。
4.可以参考状态的三个区别。

状态
工作区和暂存区以及仓库的区别:
工作区:就是在本地看到的文件和目录
暂存区:add之后文件所在的地方
仓库:commit之后所在的地方

一般开发都会这样的操作。先add再commit。可以通过git status查看状态。如果当前的文件夹已经修改过但未add会出现红色的文件名,这说明这个文件已操作。例如:

如果已经add了但commit,git status的状态里也会出现绿色的文件名,是说明未提交,如:

可以直接通过git diff 来查看修改的内容
git diff 是工作区和暂存区的比较
git diff --cached 是暂存区和仓库的比较

如果status状态里没有任何提醒,只有这个,说明已经add并commit了。


版本回退和前进
版本控制就是为了方便修改文件,那么提交之后就会有很多个版本,如果想要回退到某个版本重新开发,那么就可以用git reset了。

git log 查看版本历史,都有对应的commit的id,作者,提交的时间以及提交的内容
注意:如果回退到某个版本,那么git reset 之后这个版本以后的修改内容就看不到了。
git reflog 查看命令历史,通过id进行回退和前进

如果将要进行版本回退或者回退之后将要再恢复刚才的文件就进行以下操作
git reflog 通过git reflog查看版本历史,确定要回退到某个版本的id。
git reset --hard id 通过id进行回退,
根据版本回退有两种写法:
1. git reset --hard HEAD^ 这代表回退到上一个版本,若回退到上上一个版本,就 HEAD^^,依次类推,如果是100次,那就HEAD~100
2. git reset --hard id 这一步骤需要知道上一个版本的id
如果只回退上一个版本,次数不多的话那就用第一种写法,如果次数太多就用第二种写法。

撤销修改:
有的文件发现修改错误,可以用git checkout进行补救,分三种情况
1. 文件已修改,但未add到暂存区
git checkout -- 文件名 (--代表是撤销,如果不加--代表切换分支)

2. 文件已add到暂存区,但未commit
git reset HEAD 文件名
git checkout -- 文件名

3. 文件已commit到仓库
git reset --herd HEAD^

注意:如果文件已经提交到远程库,此办法多此一举。

删除文件:
git rm 文件名 这是删除版本库的文件。
rm 文件名 删除工作区的文件
如果是工作区的文件删除,就可以add再commit即可
注意:rm后就要commit,最近修改的内容也就没了。

原文地址:https://www.cnblogs.com/sqh17/p/8467005.html