Git工作机制,暂存区,本地库,远程库管理,常用命令

文章目录

    • 工作机制
    • [1. 本地库,暂存区管理](#1. 本地库,暂存区管理)
    • [2. 分支管理](#2. 分支管理)
    • [3. 远程库管理](#3. 远程库管理)

工作机制

复制代码
工作区(写代码) ----> 暂存区(临时存储) ----> 本地库(历史版本) ----> 远程库(GitLab、GitHub、Gitee)
				git add					git commit				   push

代码托管中心(远程库)


代码一旦提交到本地库就会生成历史版本,无法删除了。

1. 本地库,暂存区管理

命令 含义
git config --global user.name 用户名 设置用户签名
git config --global user.email 邮箱 设置用户签名
git init 初始化本地库 git获取当前目录的管理权限
git status 查看本地库状态
git add 文件名 添加到暂存区
git rm --cached ... 从暂存区中删除文件
git commit -m "日志信息" 文件名 提交到本地库
git reflog 查看历史记录
git reset --hard 版本号 版本穿梭

2. 分支管理

分支可以简单理解为副本,一个分支就是一个单独的副本。分支底层其实也是指针的引用。

分支之间互不影响,主分支供生产正常使用,其余分支可以修改副本,最后归到主分支即可。

命令 含义
git branch 分支名 创建分支
git branch -d 分支名 删除分支
git branch -v 查看分支
git checkout 分支名 切换分支
git merge 分支名 把指定的分支合并到当前分支上(需要在当前分支执行)
  • 正常合并,就直接在当前分支下合并即可
  • 合并冲突的情况:
    • 如果主分支和其他分支对同一个文件的同一个位置进行了修改,当合并分支时git会不清楚到底,保存哪个分支修改的内容,会抛出异常,并且后面状态会有MERGING
  • 解决冲突:
    • (1)可以在要合并到当前主分支下对文件进行修改,对特殊符号和内容进行人工删减
      <<<<<<< HEAD 当前分支的代码 ======= 合并过来的代码 >>>>>>> hot-fix
    • (2)添加到暂存区
    • (3)提交本地库。注意:此时使用git commit 命令时不能带文件名

3. 远程库管理

命令 含义
git remote -v 查看当前所有远程地址别名
git remote add [别名] 远程地址 起别名
git push [别名] 分支名 推送本地分支上的内容到远程仓库
git clone 远程地址 将远程仓库的内容克隆到本地,注意别开梯子,clone会做如下操作:1. 拉取代码 2. 初始化本地库 3. 创建别名origin
git pull 远程库地址别名 远程分支名 将远程仓库对于分支最新内容拉下来后与当前本地分支直接合并
相关推荐
好好沉淀2 小时前
ide进去git突然报Cannot identify version of git executable: no response的错误
git
RunningShare3 小时前
千万级用户电商平台,Flink实时推荐系统如何实现毫秒级延迟?
大数据·flink·推荐系统·ab测试
INFINI Labs4 小时前
如何使用 INFINI Gateway 对比 ES 索引数据
大数据·elasticsearch·gateway·easysearch
宇宙超级无敌霸王龙捏5 小时前
Git 分支完整操作指南
git
学编程的小鬼8 小时前
git 中常用的命令
git
他们叫我技术总监9 小时前
外企 BI 工具选型:从合规到落地
大数据·bi
小黄酥9 小时前
Sourcetree克隆/获取gitee工程,Git获取SSH密钥
git·gitee·github
Lansonli10 小时前
大数据Spark(六十七):Transformation转换算子distinct和mapValues
大数据·分布式·spark
RunningShare11 小时前
基于Flink的AB测试系统实现:从理论到生产实践
大数据·flink·ab测试
小Lu的开源日常11 小时前
踩坑日记:为什么 .gitignore 不起作用了
git·代码规范·trae