Git带你回到过去和未来【1】

来源:互联网 发布:南昌软件外包公司 编辑:程序博客网 时间:2024/05/01 15:18

1、  使用前的配置(相当注册用户)

在命令行模式下输入以下命令:

$git  config  –global user.name  “test_name”

$git  config  –global user.email  “test_name@126.com”

 

2、  查看注册是否成功

在命令行模式下输入以下命令:

$git  config –list

 

3、  Git是将每个版本独立保存,分支(branch)是git的王牌

 

4、  Git维护的三棵树:

第一棵树:工作区域(working directory,工作看的见地方)、

第二棵树:暂存区域(stage,保存临时的改动,即将提交到仓库的索引index )

第三棵树:git仓库(repository ,存储最终提交的所有的版本信息,而head指针指向最新的保存版本)。

 

5、  工作流程:第一步,在工作目录中添加、修改文件,对应的状态为“已修改”(modified),第二步,将需要进行版本管理的文件放入暂存区域,对应的状态为“已暂存”(staged),第三步,将暂存的文件提交到git仓库,对应的状态为“已提交”(committed)

 

6、  创建git项目,控制台中转到当前工程时的目录,不能有中文,否则会有识别warning

创建项目的目录下会多一个文件,named:”.git”的文件,该文件是git来跟踪工程的控制操作,请不要轻易改动。

 

7、  新建一个README.md的文件,其编码格式为utf-8无bom格式,防止乱码。

 

8、  将readme文件提交到暂存区加入index,以下命令:

$ git add README.md


9、  将readme 文件提交到仓库repository中,以下命令:

$ git commit –m “add a readme file”

 

10. 查看状态,以下命令:

         $git stauts

 

11. 创建协议(protocol)MIT,最宽松的协议

在项目的根目录创建一个license文件,百度其详细内容,之后提交命令:git status

添加到暂存区域中

提示中显示git reset HEAD 命令是回到上一步,没有提交到暂存区域

再次提交到暂存区域中:git add 命令,不在有提示reset

提交到仓库repository: gitcommit –m “add a LICENSE file”

查看状态:

 

MIT 中没有添加个人信息(添加年份,作者),修改后查看状态

提示有两个命令,一个是git add 命令,另一个是git checkout 命令

第二个命令是放弃工作区域的修改,这个命令不安全,慎用。

 

   恢复原来的状态,即添加MIT中修改的年份和作者,之后添加到暂存区域 git add命令,查看当前状态git status命令

 

再次修改MIT中作者信息(t_tamir —>t_tamir.edu.com),查看状态git status

         此时应该先提交到暂存区域,再提交到仓库

 

12.查看历史提交记录:git log

 

13.命令总结

工作区域 ---> 暂存区域   add命令

暂存区域 ---> 仓库区域   commit命令

 

工作区域 <--- 暂存区域   checkout命令

暂存区域<--- 仓库区域   reset命令

 

14.回到过去 reset HEAD 命令  后面加“~”指回到上一个快照,若加两个“~”指回到上上的快照,若回到十个快照,则:reset HEAD~10

 

回滚命令参数为:git reset HEAD,主要有三种:

第一种默认的git reset –mixed HEAD~ (影响第三棵树和第二课树)

------移动HEAD指针,将其指向上一个快照

------将HEAD移动后指向的快照回滚到暂存区域

 

第二种软回滚 git reset –soft HEAD~ (影响第三课树)  相当与撤回一次commit命令

------移动HEAD指针,将其指向上一个快照

 

第三种硬回滚 git reset –hard HEAD~ (影响第三棵树、第二课树、第一课树)

------移动HEAD指针,将其指向上一个快照

------将HEAD移动后指向的快照回滚到暂存区域

------将暂存区域的文件还原到工作目录

 

 Reset 回滚到指定的快照,在reset后加上快照号(一般为快照号的前5位)