工作中常用的git命令(工作笔记)

常用命令

  • 配置

    • 查看所有配置
      git config --list
      
    • 配置用户名
      git config --global user.name "用户名"
      
    • 配置邮箱
      git config --global user.email="邮箱地址"
      
  • 代码管理

    • 克隆代码
      git clone 远程git仓库链接
      
      例子:
      git clone http://192.168.0.1/dbwos/gitDemo
      描述:
      拉取了192.168.0.1上的一个代码仓库到本地。
      
    • 查看文件状态
      git status
      
    • 添加修改的文件到暂存区
      git add -a
      
      备注:
      上面的语句把所有修改添加到临时仓库。
      
      git add 文件名
      
      备注:
      添加指定文件到暂存区。
      
      git add .
      
      备注:
      添加当前工作区下的所有文件到暂存区。
      
    • 提交暂存区代码到本地仓库
      git commit -m '备注'
      
      备注:
      提交上面add的修改,-m后面是此次提交的备注。
      这时候没有提交到远程仓库
      
    • 提交本地仓库的代码到远程仓库
      git push origin 分支名
      
      例子:
      git push origin bob
      解释:
      上面的代码将commit的修改提交到bob分支
      
    • 查看提交日志
      git log
      
      显示
      commit 7901fa27eb6090a7335ea13ec32
      Author: bob <eastry@qq.com>
      Date:   Thu May 14 10:29:42 2020 +0800
      
         测试2
      
      commit 5f9e190059477665438869fdb54
      Author: bob <eastry@qq.com>
      Date:   Wed May 13 17:12:36 2020 +0800
      
         测试1
      
      
      添加--pretty=oneline让显示结果更简洁
      git log --pretty=oneline
      
      显示
      a663e7858e52f0b93eff58a4c8c (HEAD -> master, origin/master) some change
      7901fa27eb6090a7335ea13ec32 测试2
      5f9e190059477665438869fdb54 测试1
      
      

      这里的一串类似7901fa27eb6090a7335ea13ec32的东西是commit的id,就像身份证号一样可以定位到是哪个commit。

  • 版本控制

    • 回到上一版本

      git reset --hard HEAD^
      

      --mixed
      意思是:不删除工作空间改动代码,撤销commit,并且撤销git add . 操作
      这个为默认参数,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。
      --soft
      不删除工作空间改动代码,撤销commit,不撤销git add .
      --hard
      删除工作空间改动代码,撤销commit,撤销git add .这个命令会将代码彻底恢复到上一次commit时候的样子,很干净很彻底。

    • 回到指定版本

      git reset --hard commitId
      如:
      git reset --hard 7901fa27eb6090a7335ea13ec32
      
    • 查看每一次命令

      git reflog
      
  • 撤销

    • 撤销工作区的修改
      你下载了代码,然后做了些修改。但是一运行发现全是bug,赶紧撤自己的修改。

      git checkout -- readme.txt
      //这句命令就是把工作区的修改全部撤销
      

      命令git checkout -- readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:
      1.readme.txt还没有被提交到暂存区,也就是还没有运行git add readme.txt命令,会将readme.txt恢复到和版本库中一样的文件。
      2.readme.txt已经被提交到了暂存区,也就是已经运行了git add readme.txt命令,但是这时候你又修改了readme.txt文件。这时候会恢复到add时候的样子。

    • 撤销add后的代码

      git restore --staged <file>...
      
      例子:
      git add src/com/test.txt src/com/tes1.txt
      git restore --staged .
      解释:
      将刚刚add的所有文件撤销回来
      

      或者

      git reset HEAD //撤销上次add的所有文件
      git reset HEAD readme.txt//撤销上次add的readme.txt文件
      
    • 撤销commit后的代码

      git reset 
      
  • 分支管理

    • 查看所以分支

      git branch -a
      
    • 切换分支

      git checkout 分支名
      
      例子:
      git checkout bob
      //上面的例子切换到bob分支
      
    • 更新remote索引
      有时候别人添加了一个分支,使用git branch -a查看不到,所以这时候使用fetch命令来更新一下远程的索引。

      git fetch
      

git笔记

posted @ 2020-05-06 22:47  BobCheng  阅读(158)  评论(0编辑  收藏  举报