当前位置: 首页 > news >正文

GIT命令操作大全

文章目录

    • 一、前言
    • 二、工作模块
      • 2.1 Workspace:工作区
      • 2.2 Index / Stage:暂存区
      • 2.3 Repository:本地仓库
      • 2.4Remote:远程仓库
    • 三、GIT基本配置
    • 四、GIT项目代码管理
      • 4.1 初始化git仓库
      • 4.2 提交到暂存区(stage)
      • 4.3 将暂存区的文件恢复到工作区
      • 4.4 查看工作区、暂存区的状态
      • 4.5 移除暂存区的修改
      • 4.6 将缓存区文件提交到本地仓库
      • 4.7 撤销commit提交
      • 4.8 查看日志
    • 五、版本控制
      • 5.1 回到指定哈希值对应的版本
      • 5.2 版本回退
    • 六、GIT分支
      • 6.1 查看分支
      • 6.2 创建分支
      • 6.3 切换分支
      • 6.4 创建并切换分支
      • 6.5 合并分支
      • 6.6 删除分支
      • 6.7 删除远程分支
    • 七、远程仓库(团队合作)
      • 7.1 克隆远程仓库
      • 7.2本地仓库与远程库进行关联
      • 7.3 查看远程仓库地址别名
      • 7.4 新建远程仓库地址别名
      • 7.5 删除本地仓库中的远程仓库别名
      • 7.6 重命名远程仓库地址别名
      • 7.7 远程库的修改拉取到本地
      • 7.8 将本地的分支推送到远程仓库(先拉取在push)

一、前言

Git是目前世界上最先进的分布式版本控制系统,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。通过远程仓库实现多人协作开发。

二、工作模块

在这里插入图片描述

2.1 Workspace:工作区

就是你在电脑上看到的目录,有一个隐藏文件夹.git,这个不属于工作区,这是版本库。

2.2 Index / Stage:暂存区

暂缓区是存在于版本库中的,也就是.git文件下。通过git add将工作区修改的文件提交到暂存区中

2.3 Repository:本地仓库

这个就代表整个项目在本地电脑中存放的仓库,通过git commit将暂存区数据提交到本地仓库中。

2.4Remote:远程仓库

本地仓库通过pull拉去远程仓库数据,然后push将本地仓库修改内容提交到远程仓库中。

三、GIT基本配置

  1. 检查git版本:git --version
  2. 查看git相关命令:git --help
  3. 查看当前的git配置信息: git config --list
  4. 查看/设置git用户名: git config user.namegit config --global user.name 名称
  5. 查看/设置git邮箱: git config user.namegit config --global user.email 邮箱

四、GIT项目代码管理

4.1 初始化git仓库

git init

4.2 提交到暂存区(stage)

  1. git add * 将工作区所有修改添加到暂存区

  2. git add . 将工作区所有修改添加到暂存区

  3. git add <file-name> 将指定文件添加到暂存区

  4. git add *.js 提交所有.js格式文件

  5. git add -f <file-name> 强制添加 指定文件添加到暂存区

注:指的是文件的名称

4.3 将暂存区的文件恢复到工作区

  1. git reset <file-name> 从暂存区恢复指定到工作区

  2. git reset -- . 从暂存区恢复所有文件到工作区

  3. git reset --hard ` 把暂存区的修改退回到工作区

4.4 查看工作区、暂存区的状态

git status

4.5 移除暂存区的修改

git rm --cached <file-name>

4.6 将缓存区文件提交到本地仓库

  1. git commit <file-name> ... "相关的记录信息" 将暂缓区指定文件提交到本地仓库
  2. git commit -m "相关的记录信息" 将暂缓区的所有文件提交到本地仓库
  3. git commit -am "相关的记录信息" 跳过暂存区域直接提交更新并添加备注信息
  4. git commit --amend "相关的记录信息" 使用一次新的commit,替代上次提交

4.7 撤销commit提交

  1. git revert HEAD^ 撤销上上次的提交
  2. git revert HEAD 撤销最近的一个提交(创建了一个撤销上次提交(HEAD)的新提交)

4.8 查看日志

  1. 查看历史提交(commit)记录
  1. git log //查看历史commit记录注:空格向下翻页,b向上翻页,q退出
  2. git log --oneline //以简洁的一行显示,包含简洁哈希索引值
  3. git log --pretty=oneline //查看日志且并且显示版本
  4. git log --stat //显示每个commit中哪些文件被修改,分别添加或删除了多少行
  1. git log --graph 查看分支合并图

  2. git log --oneline --graph 查看版本线图

五、版本控制

5.1 回到指定哈希值对应的版本

  1. git reset --hard <Hash> 注: 是版本的哈希值
  2. git reset --hard HEAD 强制工作区、暂存区、本地库为当前HEAD指针所在的版本

5.2 版本回退

git reset --hard HEAD~1 后退一个版本
注:~后面的数字表示回退多少个版本

六、GIT分支

6.1 查看分支

  1. git branch 查看所有本地分支
  2. git branch -r 查看所有远程分支
  3. git branch -a 查看所有远程分支和本地分支
  4. git branch --merged 查看已经合并的分支

6.2 创建分支

git branch <branch-name>
注: 是分支的名称

6.3 切换分支

  1. git checKout <branch-name> 切换到指定分支,并更新工作区

  2. git checkout - 切换到上一个分支

6.4 创建并切换分支

git chechout -b <branch-name>

6.5 合并分支

git merge <branch-name>

6.6 删除分支

  1. git branch -d <branch-name> 只能删除已经被当前分支合并的分支
  2. git branch -D <>branch-name> 强制删除分支

6.7 删除远程分支

git push origin --delete <remote-branch-name>
注: 远程分支名

七、远程仓库(团队合作)

7.1 克隆远程仓库

git clone <url>

7.2本地仓库与远程库进行关联

git remote add origin <url>

7.3 查看远程仓库地址别名

git remote -v

7.4 新建远程仓库地址别名

git remote add <alias> <url>
注: 远程仓库的别名

7.5 删除本地仓库中的远程仓库别名

git remote rm <alias>

7.6 重命名远程仓库地址别名

git remote rename <old-alias> <new-alias>

7.7 远程库的修改拉取到本地

  1. git fetch <alias/url> <remote-branch-name> 抓取远程仓库的指定分支到本地,但没有合并
  2. git merge <alias-branch-name> 将抓取下来的远程的分支,跟当前所在分支进行合并
  3. git pull <alias/url> <remote-branch-name> 拉取到本地,并且与当前所在的分支进行合并

7.8 将本地的分支推送到远程仓库(先拉取在push)

  1. git push <alias/url> <branch-name> 将本地的每个分支推送到远程仓库
  2. git push <alias/url> --force 强行推送 当前分支到远程仓库,即使有冲突
  3. git push <alias/url> --all 推送所有本地分支到远程仓库
http://www.lryc.cn/news/5225.html

相关文章:

  • 突破传统开发模式,亚马逊云科技助力中科院加速推动合成生物学
  • 分享开放通达信l2接口的过程,开发之后怎么使用?
  • 33、基于51单片机老人防跌倒蜂鸣器报警系统加速度检测
  • 【项目】基于SpringBoot+Freemarker+Mybatis+MySQL+LayUI实现CRM智能办公系统
  • 手写识别字体的步骤是什么?怎么识别图片中的文字?
  • Mysql 存储过程
  • 【LeetCode】每日一题(3)
  • websocket学习
  • Java面试题及答案整理汇总(2023最新版)
  • 公司来了个卷王,我愿称之为王中王,让人崩溃
  • 波奇学c语言:代码的编译和链接
  • 计算机网络原理--传输层协议(TCP协议十大特性)
  • nvm控制node版本
  • 从0到1一步一步玩转openEuler--13 openEuler用户组管理
  • 知不知道什么叫米筐量化?怎么来的?
  • Urho3D 事件Events
  • Rust学习入门--【8】复合类型
  • 【整理六】
  • Ubuntu20.04安装MySQL5.7与远程连接
  • 【yolov5】首次尝试目标检测利用prompt(完整操作流程)
  • 三大指标继续狂飙!重庆啤酒:不惧强弱分化加剧,深耕高端市场
  • MySQL数据库14——更新和删除数据
  • Java面试——MyBatis篇
  • C++的 new 和 delete
  • MySQL 事务原理
  • 软件测试面试自我介绍/项目介绍居然还有模板?我要是早点发现就好了
  • new RegExp的使用
  • 供应商管理软件如何选型 好用的供应商管理软件推荐
  • Python3遍历文件夹提取关键字及其附近字符
  • 「1」线性代数(期末复习)