git 大概流程:

1.配置

1.1 配置本机全局的用户名(username)和邮箱(useremail )

配置 >>>> 查看

一般就是新安装git才需要配置一次

git config --global user.name 'ifer'  # fier 是 输入用户名
git config --global user.email 'email@qq.com' # email 是 输入用户名

配置后进入到 C:/Users/用户名文件夹/.gitconfig 文件中。这个文件是 Git全局配置文件配置一次即可永久生效
可以使用记事本打开此文件,从而查看自己曾经对 Git 做了哪些全局性的配置。

1.2 检查配置信息

使用终端查看配置信息

# 查看所有的全局配置项
git config --list --global
# 查看指定的全局配置项
git config user.name
git config user.email

2. Git 的基本操作

初始化 >>>> 跟踪 >>>> 提交(暂存区) >>>> 提交(远程)

2.1 初始化 (⭐)

git init

2.2 跟踪新文件(⭐⭐⭐)

git add index.html
# 如果文件过多,你项跟踪目录下所有文件
git add *.*

2.3 提交更新 (⭐⭐⭐)

git commit -m "新建了index.html 文件"

2.4 跳过使用暂存区域

使用此操作需谨慎,此操作相当于跳过了跟踪 git add .

git commit -a -m "日志信息"

2.5 移除文件

①.找到文件目录直接删除要删除的文件。

②.从git仓库命令删除

# 从 Git仓库和工作区中同时移除 index.js 文件
git rm -f index.js
# 只从 Git 仓库中移除 index.css,但保留工作区中的 index.css 文件
git rm --cached index.css

2.6. 查看当前仓库的状态 (⭐)

其中 -s–short 的简写形式

git status
# 以精简的方式显示文件状态
git status -s
git status --short

2.7 撤销对文件的修改

撤销还没有到工作区修改的内容
注意:会丢弃掉用户在工作区的修改

git checkout -- 文件名称 #注意--必须要有

3. 操作暂存区

3.1 查看变更日志

git reflog  #可以查看所有分支的所有操作记录
git log #查看当前分支的变更日志
git log --all #查看所有分支的变更日志信息
git log 某文件 #查看具体文件的变更日志
git log --online # 用一行显示当前分支变更日志
git log -n数字 #显示最近的 n 个日志变更信息
git log --pretty=oneline #一行显示当前分支的变更日志

3.2 版本回退

版本回退分为 git reset –-softgit reset -–hard:

  • git reset –-soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可
  • git reset -–hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容,撤销的commit中所包含的更改被冲掉;

3.2.1 把暂存区和工作区文件恢复成和 HEAD 一样
使用次命令后当前的工作区文件将会全部被替换成commit版本的文件

git reset --hard #将所有文件恢复成HEAD的记录模块
git reset --hard HEAD^ #当前版本回退到上一个版本
git reset --hard HEAD~100 #当前版本回退到前第100个版本
git reset --hard commit版本号 #跳转到指定版本

3.2.2 将暂存区的撤回到某个版本
git reset --soft xxx 是从暂存区中撤回,-soft HEAD~1 意为将版本库软回退1个版本,所谓软回退表示将本地版本库的头指针全部重置到指定版本,且将这次提交之后的所有变更都移动到暂存区

git reset --soft #撤回暂存中的版本信息
git reset --soft HEAD^ #当前版本信息回退到上一个版本
git reset --soft HEAD~100 #当前版本信息回退到前第100个版本
git reset --soft commit版本号 #跳转到指定版本信息

假如我之前提交了很多版本:

版本1
版本2
版本3
版本4

现在我的代码有新的改动
我想把 新改动 并版本2 后面 版本3,4 不要
git reset -soft 版本2
git add .
git commit -m ‘改变后的版本’
git push
提交后的内容

3.2.3 把工作区指定文件恢复成和暂存区一样

git checkout 文件1 文件2 ... 文件n

3. 操作远程仓库

3.1、列出所有 remote仓库

git remote -v  #verbose冗长的信息

3.2 克隆(⭐⭐⭐)

初次将远程仓库拷贝到本地的一个空文件

git clone 克隆的地址
git clone 克隆的地址 -b 分支名称 #克隆到分支并且并且跳转到分支

3.3 初次把本地分支 push 到远端 (⭐)

git push -u origin master

3.4 简化提交仓库(⭐⭐⭐)

进过克隆或初始化中的一个就可以不用输入pull后面的内容

git push-

3.5 克隆后再次拉取仓库内容(⭐⭐⭐)

克隆后再次拉取远程仓库就可以直接git pull

git pull

3.2.增加 remote仓库(⭐)

git remote add origin 远程仓库的url地址

3.3.删除 remote

git remote remove origingit remote rm origin

3.4.改变 remote 的name

git remote rename 旧名称 新名称

3.5.把远端所有分支和标签的变更都拉到本地(⭐)

git fetch remote

4. 操作分支

4.1 创建新分支

  1. 基于当前分支创建新分支(⭐⭐⭐)
git branch 新分支名称
  1. 基于指定分支创建新分支
git branch 新分支名称 已有分支名称
  1. 基于某个 commit 创建分支
git branch 新分支名称 某个 commit 的id

4)创建分支并且切换到该分支

git chechout -b 新分支

4.2 列出分支

  1. 查看所有分支,当前分支前有*号标识 (⭐⭐⭐)
git branch # 查看所有户分支
git branch -v # 查看详细的分支信息
  1. 列出本地和远端分支
git branch -av
  1. 列出远端所有分支
git branch -rv
  1. 列出名称符号某样式的远端分支
git branch -rv -l '某样式'
  1. 强制转换分支到指定提交版本
git branch -f 分支 目标提交的哈希值

4.3 分支合并

  1. 把 A 分支合入到当前分支,且为 merge 创建 commit (⭐⭐⭐)
git merge A分支
  1. 把 A 分支合入到 B 分支,且为 Merge 创建 commit
git merge A分支 B分支  # A→B
  1. 把当前分支基于B分支做 rebase,以便把B分支合入到当前分支
git rebase B分支 #当前分支加入到B分支
  1. 把A分支基于B分支做rebase,以便把B分支合入到A分支
git rebase B分支 A分支  #A→B
  1. 用 mergetool 解决冲突
git mergetool
  1. 分支管理策略。

通常合并分支时,git一般使用”Fast forward”模式,在这种模式下,删除分支后,会丢掉分支信息,现在我们来使用带参数 –no-ff来禁用”Fast forward”模式。
分支策略:首先master主分支应该是非常稳定的,也就是用来发布新版本,一般情况下不允许在上面干活,干活一般情况下在新建的dev分支上干活,干完后,比如要发布,或者说dev分支代码稳定后可以合并到主分支master上来。

git merge --no-ff -m 'description' 分支名称

4.4 删除分支

  1. 安全删除本地某分支 (⭐⭐⭐)
git branch -d 要删除的分支名称
  1. 强行删除本地分支
git branch -D 要删除的分支名称
  1. 删除已合并到 master 分支的所有本地分支
git branch --merged master | grep -v '^\*\| master' | xargs -n 1
git branch -d
  1. 删除远端 origin 已不存在的所有本地分支

git remote prune origin

git 的详细使用 操作暂存区相关推荐

  1. Git三大特色之Stage(暂存区)

    这是开篇 有人说,暂存区是 Git 最精彩的设计,同时也是最难理解的部分,两者我都感觉不太明显,但当我想写关于暂存区的理解后,发现的确不怎么好讲,这个玩意,有点只可意会的感觉,用 Git 用熟练了,很 ...

  2. Git中的工作区和暂存区

    Git和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念. 0. 相关专业名词 staged changes:已更改的东西 unstaged changes:未更改的东西 stage 暂存区 ...

  3. Git——三大分区【工作区 / 暂存区 / 版本区】

    前言:Git作为一个版本管理工具,最核心组成思想是它的三个分区:工作区.暂存区和工作区. 1. 工作区   Git的工作区也就是我们平时编辑代码的目录文件夹. 2. 暂存区   暂存区就是一个暂时放置 ...

  4. git中的工作区,暂存区,版本库

    git status  用于查看哪些文件被暂存了 红色:工作区与版本库之间对比 ,说明没有被暂存 git add .  (工作区的内容添加到暂存区) 黄绿色:暂存区和版本库,说明被暂存

  5. git中使已经加入暂存区的文件不再受版本控制

    有的时候我们会有这样的需求,自己新建了一个本地仓库,并且执行了 "git add ." 命令,此时所有的文件都加入版本控制,但是有些文件是我们不需要进行版本控制的(比如说VS工具生 ...

  6. git 理解 节点、工作区、暂存区、版本库

    git树结构: git树结构每个节点都是一个commit的快照,它包含了三个重要概念:节点,HEAD指针,Branch指针 1.节点:git使用commit之后就会生成一个节点,之前的节点成为这个节点 ...

  7. 【原创】关于Git暂存区的理解

    关于Git暂存区的理解      暂存区可以说是Git的三大重要的区域之一,另外两个分别是工作目录和Git仓库,所以说对暂存区的深入理解可以帮助我们理解很多Git命令背后隐藏的工作原理.今天,本文将以 ...

  8. git 将暂存区文件提交_git 暂存区

    一.Git基本工作流程 1.初始化一个仓库 git  init git  clone git仓库分为两种情况: 第一种是在现有项目或目录下导入所有文件到 Git 中: 第二种是从一个服务器克隆一个现有 ...

  9. git 工作区和暂存区

    Git和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念. 先来看名词解释. 工作区(Working Directory) 就是你在电脑里能看到的目录,比如我的learngit文件夹就是一个工 ...

最新文章

  1. 一起谈.NET技术,OnLoad与Page_Load的差异分析
  2. java comparable Comparator 区别
  3. php运行汇编,php脚本的执行过程(编译与执行相分离)
  4. 使用CLI扩展和重新平衡Couchbase集群
  5. 校验输入框的内容不能重复_答应我,用了这个jupyter插件,别再重复造轮子了
  6. 算法日记-01-算法和数据结构概览
  7. ORACLE 12C采坑之 ORA-12541:TNS:无监听程序
  8. C#学习基本概念---xcopy(复制文件和目录树)
  9. C++的操作符delete很特殊,跟new不对称
  10. aix linux tcp连接数,修改windows、linux、aix等系统TCP/IP 参数
  11. 制定自己的SMART目标
  12. RTKLIB专题学习(八)—卫星星历和钟差
  13. Linux基础入门到精通之虚拟机中安装Linux系统(二)
  14. 基于python的图像灰度值处理(opencv)
  15. 区分QA和QC, Verification和Validation
  16. loopback(本地回环)接口的作用
  17. 论文 Simultaneously Self-Attending to All Mentions for Full-Abstract Biological Relation Extraction
  18. Android设备上一张图片的显示过程
  19. Django及Flask漏洞合集
  20. Thread.currentThread().interrupt()和Thread.interrupted()和Thread.currentThread().isInterrupted()

热门文章

  1. PC端视频录制软件大集合,看看有没有你用过的?
  2. i2c的IOL及上拉电阻
  3. zabbix_sender用法实例
  4. C语言程序设计笔记(浙大翁恺版) 第二周:计算
  5. 2020 中秋、国庆快乐!
  6. 当android调试遇到ADB server didn't ACK以及顽固的sjk_daemon进程 .
  7. Spring系列学习之Spring Data Envers数据访问
  8. 京东云服务器——免费体验6个月
  9. KafkaController机制(六):Zookeeper Listener之TopicDeletionManager与DeleteTopicsListener
  10. 【千纸诗书】—— PHP/MySQL二手书网站后台开发之项目设计