ToB企服应用市场:ToB评测及商务社交产业平台

标题: Git版本控制体系---当地利用(万字详解!) [打印本页]

作者: 惊雷无声    时间: 5 天前
标题: Git版本控制体系---当地利用(万字详解!)
目次

git根本配置
熟悉工作区、暂存区、版本库
添加文件--情况一:
添加文件-情况二:
修改文件:
版本回退:

git根本配置

   1.初始化当地仓库,注意:肯定要在一个目次下举行,一般都是新建一个文件夹,在文件夹中举行下文利用  
    指令:git init  
2.初始化git的提交用户+邮箱  
    2.1:配置用户名:git config user.name "gitee的用户名||github用户名"   
    注意!,如果是gitee,你的用户名是@后面的字符串,不包罗@!  
    2.2:配置邮箱:git config user.email "gitee/github绑定的邮箱地点"  
3.检察当前路径下当地仓库的配置信息  
    指令:git config -l  
4.重置配置信息  
    4.1:重置姓名:git config --unset user.name  
    4.2:重置邮箱:git config --unset user.email  
5.将当前机器上全部的用户都配置相同的用户和密码  
    指令:git config --global user.name "gitee的用户名||github用户名"  
    指令:git config --global user.email "gitee/github绑定的邮箱地点"  
    注意:通过--global选项配置的账户信息是不能直接通过上述第4条说明中的指令重置的!!需要的指令如下:  
    重置用户名:git config --global --unset user.name  
    重置邮箱:git config --global --unset user.email  补充:1.gitee用户名位置:再次提示:不要带上@!!!!!!!!!不要带上@!!!!!!!!!不要带上@!!!!!!!!!

2.查询giteer账号绑定的邮箱:在gitee主页(即上述图片界面),鼠标移动到右上角头像处,会有一个设置选项,点击,左边列表中有一个邮箱管理,点击后就能看到当前gitee账号绑定的邮箱
熟悉工作区、暂存区、版本库

  1. 在本地仓库目录中,创建一个Readme文件,注意!不能直接在.git中创建!禁止一切手动修改.git的操作
  2. 版本库:-->.git文件
  3. 工作区:-->Readme所在目录下,但不包括.git文件
  4. 暂存区:-->版本库的stage模块,又称索引
  5. add操作
  6. 将工作区被修改的部分提交到暂存区stage
  7. commit操作
  8. 将暂存区stage中的内容提交到某个分支,默认master分支
复制代码
浅易流程图:

添加文件--情况一:

  1. 概念补充:.表示当前路径  ..表示上一级路径
  2. 1.先前面创建的Readme文件中写点东西,比如"hello git!"
  3. 2.提交方式
  4.     将工作区的内容提交到暂存区
  5.     2.1:提交指定工作区指定内容
  6.     指令:git add 带路径的文件名(不带路径会默认为当前路径中的文件)
  7.     可以连续带多个文件名,之间使用空格隔开:git add file1 file2...
  8.     2.2:提交当前目录下所有的内容
  9.     指令:git add .
  10.     将暂存区内容提交到master分支
  11.     2.3:命令后可以带选项,例如 -m 表示提交内容的同时携带对提交内容的说明信息,
  12.          方便记忆:其实-m就是message的缩写
  13.     指令:git commit -m "说明信息"
  14.     注意:执行commit命令之前一定要先add过,并且使用commit指令一定要带上-m选项!!
  15.     查看git的历史提交记录:
  16.     指令:git log
  17.     优雅的查看历史提交记录:
  18.     指令:git log --pretty=oneline
复制代码
添加文件-情况二:

   1.先在工作区创建1个文件,test1.txt  
依次实行以下指令:  
    1.1:git add test1.txt  
    1.2:Linux机器:touch test2.txt   
    windows机器:直接鼠标创建test2.txt  
    1.3:git commit -m "test1.txt add"  
 观察现象,显示有几个文件提交了?只有1个!就是test1.txt  修改文件:

Git追踪的是工作区的修改,而不是文件本身!
   当我们对已经commit过的工作区文件举行修改时,比如,打开之前创建的Readme文件,新增一行数据,比如新增"hello mygit!"  
检察git状态的指令:  
    指令:git status  
Linux上显示如下:  

但是如果我想看到更详细的内容,比如:想知道是哪几行修改了,是增加照旧删除?
   指令:git diff 工作区被修改的文件名  Linux上显示如下,windows大差不差:

windows会更直观,不再赘述。
  1. Readme文件被我们修改了,那么按照之前所说的,先add到暂存区,再commit到master分支
  2. 指令:
  3.     1.git add Readme
  4. 查一下:
  5.     2.git status
  6. 提示你,.git中的statge已被改变,需要commit到mater分支
  7.     3.git commit -m "update Readme"
  8. 再查一下:
  9.     4.git status
  10. 显示工作区和暂存区都无改动了
  11. done
复制代码
版本回退:

什么是版本回退?举几个栗子:
   1.就像是你在烹调一道复杂的菜肴时,突然发现自己加错了调料,然后决定“时光倒流”, 回到加调料前的那一刻,重新来过。
  2.想象一下,你正在编写一个超级英雄的故事,你已经写到了“超级英雄打败了大反派,救济了世界!”这一章。 但是,你突然意识到,在之前的某一章里,你给超级英雄加了一个奇怪的本领,比如“只剩一滴血也能重生”, 这个本领实在是太奇葩了,完全破坏了故事的整体氛围。 这时,Git版本回退就派上用场了。你可以利用Git的“时光机”(其实是一些命令), 回到那个添加奇怪本领的章节之前,然后就像那个本领从未存在过一样,继续你的创作
  3.你正在预备结业论文,第一版写完后交给老师,老师不满足,于是你哼哧哼哧的修改好了第二版论文, 此时你兴高采烈的又交给老师,老师说你的第二版论文格式有问题,内容也偏题了,归去重写,好吧, 于是你低头丧气的又归去改了第三版论文交给老师,老师对着你说:"小明啊,你照旧把第一版论文交给我吧, 你这几版还不如第一版呢!",你听到这话,心田非常庆幸,因为你将每一版论文都举行过备份,于是你找到 第一版备份交给了老师,成功通过,顺遂结业;
  回归正题:
之前我们经常上面利用的Readme文件最开始只有一行内容"hello git!";add+commit之后,这就是第一版的Readme文件,之后我们又增加了一行内容"hello mygit!",add+commit之后就是第二版Readme文件
  1. 版本回退:
  2.     指令:git reset [--soft] [--mixed] [--hard] [HARD]
  3. 注意:此处的[HARD]指的是git提交记录中用看标识提交ID的字符串哈希编码,如何查看HEAD?
  4. 前面提到过指令:git log --pretty=oneline
  5. 打印出来的左侧的字符串编码即是每次提交的HEAD
复制代码
列个表格辅助明白:
首先,末了一版的Readme内容为"hello git!" 和"hello mygit"

  1. reset命令不带选项默认为--mixed
  2. 版本回退实操:
  3.     指令:
  4.     1.查看一下git提交日志:git log --pretty=oneline
  5.     2.根据HEAD选择要回退的版本
复制代码

  1. 此处我选择回退至第一版,采用--hard选项
  2. 指令:git reset --hard d2c9915d4d2a5ca706c0e31de9df62a47796b944
  3. 回退之后,查一下git提交日志,显示如下:
复制代码

此时Readme文件的内容被重置为原来的一行:"hello git!"
   如果此时我们回退版本的时间,悔恨了怎么办?  
指令:  
    git reset --hard dfc471a62a287d4cfc27d3968fe104d03980b859  
上述HEAD是我们最开始查日志的时间显示的最新一次提交的版本的字符串哈希值,如果你反悔了,在记得回退前的  
版本的HEAD时,就可以利用上述指令取消本次回退  
如果你记不到HEAD了,git也是有悔恨药可以吃的!  
指令:git reflog   
功能:查询更新前的git提交日志信息,此中有你日志更新前的全部版本提交的日志,此中有HEAD信息尚有最左侧的部门信息  
而部最左侧的信息也可以用来充当HEAD来举行取消利用  取消利用:

   注意:这里说的取消利用,只针对当地仓库,对于远端仓库不生效! 所以取消利用的前提条件是:commit之后没举行push利用,这里的push利用暂不说明. 场景:当在某一个版本的基础上开辟新的代码时,写了一坨之后,决定实在垃圾, 于是想取消自己在当前版本之上写的全部代码时,就需要用到取消利用。 取消利用有三个场景,表格如下所示:  

情况一:只更改了工作区的代码,其他区域未改变;
  1. 1.手动修改--代码量大的时候强烈不推荐!!
  2. 2.使用指令修改
  3.     指令:git checkout -- 要撤销修改的文件
  4. 解释:一定要带上--俩个符号,表示撤销到最近一次更新的版本
复制代码
情况2:修改了工作区代码后,又add到了暂存区中,但是版本库中未改变
  1. 方法1:使用reset指令 + hard选项
  2.     指令:git reset --hard HEAD
  3.     解释:HEAD-->直接写HEAD表示回退至当前版本,HEAD^表示上个版本,以此类推;
  4. 方法2:使用reset指令 + mixed选项
  5.     指令:git reset --mixed HEAD
  6.     此时又回到了情况一
  7.     则:git checkout -- 要撤销修改的文件即可
复制代码
情况3:工作区、暂存区、版本库中都被修改了
  1. 1.直接使用reset指令:
  2.     指令:git reset --hard HEAD^
  3.     或者:git reset --hard 字符串哈希值(先git log 查询一下哈希值)
复制代码
删除文件:

   1.假设删除了工作区的文件,比方rm file.txt 注意:删除也算工作区的变动,所以也要同步到暂存区和版本库 1.1:git add file.txt 1.2:git commit -m "delete file.txt" 2. git提供的删除命令 指令:git rm 要删除的文件名 再接着:git commit -m "delete file.txt"即可

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4