Git使用初体验

    在高级软件工程这门课之前,我从未使用过类似于Git的版本控制工具,也甚至不知到这是一个怎样的工具。经过上课老师的细心讲解 以及假期间的不断实操,逐渐对Git有了一定的认识,也逐渐熟悉了里面的操作。

就我现在看来,Git作为版本控制工具主要的功能有:

    1.多人合作之间的协同修改

    2.数据的备份

    3.版本的控制

    4.分支管理

    5.对于历史改动的记录

    6.版本管理

    以上仅为我在初次学习过程中的一些总结,也许并不全面,我也将在今后的实践中逐渐补充以及加深对其的认识。

一.Git结构

     

    为了更好的学习Git,我们需要了解它的结构。在本地中主要分成三个部分:

    1.Working Directory(工作区)  在此区我们可以直接编辑文档,这也即用户直接交互的区域

    2.Staging Area(暂存区) 文件暂时存储的地方

    3.Repository(本地库)存放已提交的数据

二、Git使用基本操作

    1.Git本地库初始化 (git init)

    

    注:当初始化完成后,我们可以看到./git目录中多了许多初始化文件

    

    2.文件的添加提交

         a.首先我们查看下当前工作区与暂存区的状态(git status)

    

    此时显示没有文件要提交,并处于master的分支上

    b.执行添加操作

    创建并编辑了文件file1 并使用git add指令将其添加到了暂存区,此时我们再使用git status看下当前状态,可发现状态已经发生变化,已经检测到有待提交文件

    

    c.执行提交操作(git commit)

    此时使用git status,显示没有文件需要提交(因为此时已经提交到了本地库),我们使用日志查看指令git log后也可看出本次的修改

    

    3.版本的回溯

    a.在上面的基础上我们修改了文件file1.txt,并进行了添加提交操作

    

    此时查看版本信息可知,已经有两个提交版本,此时我们可以通过git reset --hard +【局部索引值】指令进行版本的回溯

    

    根据查询文件具体内容,我们可知已经回到日志信息为“commit file1.txt”这一版本

    

    4.分支创建与管理

    a.使用git branch 创建分支

    

    b.使用git checkout指令切换分支

    

    注意:冲突处理

          若有以下场景:在branch1以及master分支上都修改了文件file1.txt并进行了添加提交操作,此时使用git merge指令进行合并时,会产生冲突。

        

        此时查看文档时会发现多了些标记,且将两个分支的修改同时呈现,此时团队需要协商探讨保存哪部分的修改,并将修改编辑保存退出

        

        随后进行添加提交操作,即完成了本次冲突处理操作

        

    5.推送与克隆操作

    a.若需要做推送操作时,我们最好先创建远程库地址的别名,因为这样有利于我们接下来推送和克隆的操作,即简化书写地址值

    

    b.接着我们使用git push 操作将其推送至远程库

    

    此时我们可以在远程库看到我们的push内容了

 

    c.同时我们可以在另一个目录下将远程库的内容clone下来

    

    在克隆的过程中我们会发现在克隆库中我们不用使用git init对本地库初始化,因为克隆操作已经自动帮我们实现了这一功能

    

三、场景四:Git rebase使用

   Git rebase的用途是用于重新整理已提交的记录,但正如孟老师推文上所写,注意不要通过rebase指令对任何已经提交到远程仓库中的commit进行修改,我想这是因为这样会导致push到远程库的内容会无迹可寻了吧

   关于 git rebase指令的使用,我们使用git rebase -i进入commit整理页面,可以看到在这个页面中我删除了“The first revise test01.txt”的修改记录

  

  

  此时我们使用git log查看日志,会发现被删除的那条修改记录已经不在了,这也印证了git rebase的整理commit的功能。

     

 

    

    

    

    

posted @ 2020-10-08 11:02  Panteng0623  阅读(80)  评论(0编辑  收藏  举报