zoukankan      html  css  js  c++  java
  • git 使用详解

    Git  使用详解

    Git简介及安装:Git是目前世界上最先进的分布式版本控制系统。

    Git工作流程:

    Workspace:工作区

    Index/Stage:暂存区

    Repository:仓库区(或本地仓库)

    Remote:远程仓库

     

    Git一般工作流程:

    1、在工作目录中添加、修改文件;

    2、将需要进行版本管理的文件放入暂存区域;

    3、将暂存区域的文件提交到Git仓库。

    Git管理的文件有三种状态:

    已修改(modified)

    已暂存(staged)

    已提交(committed)

    Git安装:

    git下载地址:https://git-scm.com/download

    windows系统下安装和其它普通软件安装过程一样,安装完成后,进入dos命令窗口,输入命令git--version能查看到版本号及安装成功;

    mac系统下下载的是dmg包,通过双击根据提示一步步安装即可,安装完成后,进入终端命令窗口,输入命令git--version能查看到版本号及安装成功。

    Git初始化配置:
    在操作系统上首次安装git时,因为Git是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标识。使用命令如下:
    gitconfig--globaluser.name"用户名
    "gitconfig--globaluser.email"邮箱"
     
     
    版本库介绍&创建:
    一般把版本库也叫仓库(repository),其实我们可以简单的把它看成一个目录,只不过目录里面的文件都会由Git进行管理,当我们对文件进行修改、删除、Git都可以对其进行跟踪,或者在将来某个时刻还可以将文件“还原”。
    git创建版本库步骤:
    1、创建一个空目录,如d:git_repository
    2、进入到命令窗口,切换到该目录,输入gitinit命令即创建完成。
    3、使用dir查看可以看到文件夹内部多了一个.git的隐藏文件夹.git目录就叫做版本库,它负责管理.git所在目录下的其它内容进行跟踪管理版本。
     
     
    版本库中文件操作:
    一、版本库中增加文件:操作步骤采用实际数据举例,也可以使用其它数据操作:
    1、在指定的版本库中新建一个test_01.py文件,内容为print('test01')
    2、使用命令gitaddtest_01.py添加到暂存区
    3、使用命令gitstatus显示工作目录和暂存区的状态,可以看到添加的文件
    4、使用命令gitcommit-m“第一次提交”把文件提交到版本库,其中-m是提交时的备注信息,第一次会创建默认master分支及指向master的一个指针HEAD
     

    二、版本库中修改文件:

    1、手动修改test_01.py文件,增加一行内容为print('test02')

    2、使用命令gitstatus显示工作目录和暂存区的状态,可以看到修改的文件

    3、使用命令gitdifftest_01.py,比较工作目录和暂存区域快照之间的差异,也就是修改之后还没有暂存起来的变化内容

    4、使用命令gitadd*添加到暂存区

    5、使用命令gitcommit-m“第二次提交--修改”把文件提交到版本库

    6、该过程可通过gitlog查看历史记录信息便于验证,如果gitlog觉得显示太繁琐,可以使用gitlog–pretty=oneline查看

     三、版本库中回退版本操作:

    1、手动修改test_01.py文件,增加一行内容为print('test03')

    2、使用命令gitadd*添加到暂存区

    3、使用命令gitcommit-m“第三次提交--修改”把文件提交到版本库

    4、回退有两种操作方法:

    4.1使用命令gitreset--hardHEAD^回到版本2,依次类推HEAD^^回到版本1

    4.2使用命令gitreflog查看版本历史记录,然后使用命令gitreset--hard版本号回退到指定版本

     

     四、撤销修改操作:

    1、手动修改test_01.py文件,增加一行内容为print('test04'),发现添加有误

    2、撤销修改操作方式有多种:

    2.1直接手动去更改文件,使用gitadd*添加到暂存区,gitcommit提交

    2.2使用命令gitreset--hardHEAD^回复到上一个版本

    2.3使用命令gitcheckout--test_01.py,进行撤销操作,该命令的含义是把文件在工作区做的修改全部撤销

     

     五、删除操作:

    删除一般分为两种操作方式:

    方式一:命令删除

    1、手动新增一个test02.py文件,内容为print('test02');

    2、使用gitadd*、gitcommit进行提交到版本库;

    3、通过命令gitrmtest02.py进行删除操作;此操作会删除工作区的文件并同步添加到暂存区

    4、通过命令gitcommit提交到版本库备注:如果做完步骤三需要撤销删除,先执行命令gitresetHEADtest02.py,再执行命令gitcheckout--test02.py

    方式二:手工删除

    1、手动新增一个test02.py文件,内容为print('test02');

    2、使用gitadd*、gitcommit进行提交到版本库;

    3、在工作区手工删除test02.py文件

    4、使用命令gitadd-A在版本库中同时进行删除操作

    5、通过命令gitcommit提交到版本库备注:如果做完步骤三需要撤销删除,可以通过命令gitcheckout--test02.py找回masterHEAD

    六、重命名操作:

    重命名文件和删除文件操作类似,也分为两种操作方式

    方式一:命令重命名

    1、手动新增一个test03.py文件,内容为print('test03');

    2、使用gitadd*、gitcommit进行提交到版本库;

    3、通过命令gitmvtest03.pytest3.py进行重命名操作,windows系统使用gitren,mac/linux使用gitmv

    4、通过命令gitcommit提交到版本库备注:如果做完步骤三需要撤销重命名,先执行命令gitresetHEADtest03.py,再执行命令gitcheckout--test03.py,此时不需要使用gitrm删除,因为gitreset操作已把暂存区的记录恢复到工作区,然后使用命令gitrm-r--cachedtest3.py,把暂存区的文件信息删除,最后手工删除test3.py 

     方式二:手工重命名

    1、手动新增一个test03.py文件,内容为print('test03');

    2、使用gitadd*、gitcommit进行提交到版本库;

    3、在工作区手工重命名test03.py为test3.py;

    4、使用命令gitadd-A在版本库中同时进行重命名操作;

    5、通过命令gitcommit提交到版本库备注:如果做完步骤三需要撤销重命名,可以通过命令gitcheckout--test03.py找回,然后在工作区手工删除test3.py文件

    七、修改最后一次提交操作:

    版本刚一提交(gitcommit)到仓库,发现注释写错或少提交了部分文件,此时需要修正这次提交的内容,把这样的操作称为修改最后一次提交操作。

    操作如下:

    1、手动新增一个test04.py文件,内容为print('test04')

    2、使用gitadd*、gitcommit-m“新增test05.py代码”进行提交到版本库

    3、使用命令gitcommit--amend-m"新增test04.py代码",把最后一次提交的注释进行修改,--amend选项的commit命令(即gitcommit--amend)git会“更正”最近的一次提交。

    4、再次新增一个文件test05.py文件,内容为print('test05');

    5、使用gitadd*命令添加到暂存区6、使用命令gitcommit--amend-m"新增test04.py est05.py代码"把test05.py也置入最后一次提交的版本中备注:过程中可以使用gitlog查看日志 

    分支管理:
    在之前的课程中,使用git每次提交,Git都把版本串成一条时间线,这条时间线就是一个分支。截止到目前,只有一条时间线,这个分支叫主分支,即master分支。HEAD哈希值指向的是当前提交分支的主干节点。
    在实际的开发工作中,开发人员都分配不同的开发任务,每个开发任务由于功能、难度不一致,如果写完部分代码就进行提交到master分支,会导致代码异常、代码覆盖的情况,针对这种情况,git可以使用分支管理进行解决。
    开发人员创建了一个属于自己的分支,其它开发人员看不到,还继续在原来的分支上正常工作,此时开发人员想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响其它开发人员工作。
    所谓的分支管理,其实就是利用git,对开发人员的分支进行管理,包含分支创建、分支合并、分支删除等操作。
     
     

    每日心灵寄语:凡事不要想的太复杂,手握的太紧,东西会碎,手会疼。

    个人公众号二维码

     

    亲,如果对我们小编满意,欢迎打赏哦!

                                                                                                                 亲, 如有对小编的作品有任何疑问,欢迎下方留言哦!


     

       

  • 相关阅读:
    【13NOIP提高组】货车运输(洛谷P1967)(Acwing.506)(一本通1877)
    Acwing136. 邻值查找(《算法竞赛进阶指南》)
    python 万能时间格式转换
    解决高并发的方法
    2020年春季学期《软件工程》课程总结
    语文知识点
    地理知识点
    外接球问题
    人船模型
    动量定理流体问题
  • 原文地址:https://www.cnblogs.com/tingting-yang/p/14900043.html
Copyright © 2011-2022 走看看