Git基本操作_3

与远程仓库交互

  • 同步远程代码

    一个远程仓库有可能有多人有权限推送,所以存在远程代码比你本地仓库更新,因此在提交代码之前需要先拉取服务器代码,让本地仓库保持最新的版本记录;这样做的目的是为了防止当你提交代码之后,推送到远端出现代码冲突问题,拉取远程代码参考命令如下所示:

    git pull 
    

    在终端执行完命令之后,如果有代码更新,返回的信息如下图所示:

    image-20200329160047171

    可以看到新增了一个文件。

  • 检查改动文件

    当远端最新的代码拉下来之后,最好通过git status命令检查一下有哪些文件被改动了,参考命令如下所示:

    git status 
    

    显示的信息一般会有以下几类:

    1. Untracked: 未跟踪,一般为新增文件,此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add 状态变为Staged.
    2. Modified: 文件已修改, 仅仅是修改, 并没有进行其他的操作.
    3. deleted: 文件已删除,本地删除,服务器上还没有删除.
    4. renamed:文件名称被改变

    如果发现无意中编辑了某一个文件,但实际上并不想改变它,这里可以使用git checkout 文件名来撤销更改,参考命令如下:

    git checkout README.md
    
  • 添加文件到缓存

    可以使用下面的命令将文件添加到缓存当中:

    git add [文件名] #会将单独的文件添加到缓存当中
    git add . #会将所有文件添加到缓存当中
    
  • 提交代码

    当你将所需要提交的代码都添加到缓存区域后,接下来就可以将代码提交到本地仓库中,参考命令如下所示 :

    git commit . -m “这是备注信息”
    

    上方命令中的.是代表选择所有的文件或目录,你也可以提交指定某一个文件,将.换成相应的目录或文件名即可。

  • 推送代码

    当代码提交之后,在本地的工作就已经完成了,此时为了让其他人拉取你的代码,通常还需要将代码推送到远程仓库,这里我告诉大家最简单的方式,参考命令如下:

    git push
    

查看修改信息

  • 工作区和暂存区

    工作区,指的是当前正在编辑的文件,还没有修改的内容通过git add命令暂存起来。

    暂存区,指的是文件修改之后并且通过git add命令临时存储到版本记录里了,但还没有正式通过git commit提交的阶段。

  • 比较工作区的变动

    对工作区的文件进行了编辑修改以后,可以通过如下命令检查修改的信息:

    git diff
    

    image-20200329165537792

    执行命令之后,绿色部分代表增加的内容,红色部分代表删除的内容。

  • 比较暂存区变动

    有些时候,可能已经通过git add命令,将某些文件从工作区添加到暂存区,但又想回过头,来看此文件刚才改动过哪些内容的场景,这个时候,如果想要看文件里面修改了什么内容,就不是再把工作区和暂存区进行对比了【此时使用git status命令只能看到文件做了改动,但并不知道改动了哪里,使用git diff命令后并不能看到任何信息】,而是需要把暂存区与版本库最近一次 commit 的内容进行比较,参考命令如下:

    git diff --cached  [文件名]
    

    image-20200329165920244

  • 与指定记录比较

    有些时候,可能需要代码和历史的某一个版本进行比较,这个时候可以先通过git log命令,找到历史提交记录的一个 hash 值。

    image-20200329170118732

  • 工作区比较

    将要比较的 hash 值复制下来,然后执行如下所示命令:

    git diff [hash值]
    

    image-20200329170307221

  • 暂存区比较

    有些时候,想把暂存区的改动和指定记录进行对比,那么在命令中加入--cached 即可,参考命令如下:

    git diff --cached [hash值]
    

    image-20200329170529791

  • 与最新版本库比较

    很多时候,只需要将未正式提交的代码(包含工作区与暂存区)与最新的 commit 记录进行比较,虽然也可以通过指定 commit 的 hash 值进行,但是却很不方便,需要先获取到 hash 值,可以使用一个简单的方法,可以通过git diff HEAD命令方式快速对比,参考命令如下:

    git diff HEAD
    

    image-20200329170917451

  • 比较两个历史记录

    有时候,可能会需要查看某一次提交记录修改了什么内容,这个时候就需要将两个历史记录进行比较;首先通过git log命令获取到需要查看的记录 hash 值,然后再找到这个记录的上一个版本的 hash 值,拼接的参考命令如下所示:

    git diff [hash值1]  [hash值2]
    

    image-20200329173959113

posted @ 2020-03-29 17:52  依吁的回忆  阅读(133)  评论(0编辑  收藏  举报