【Git入门234】Git本地仓库常用操作流程2_分支相关操作_大总结

创建分支git branch

git branch x

仅创建一个叫x的分支拷贝,不对代码进行任何变动

  • 可以创造平行时间线x
  • 术语叫“分支”
  • 虚拷贝,引用
  • 可以同时基于master/branch x开发

切换分支git checkout

  • .git同时维护master和branch x
git checkout x
git checkout master
  • 两个时间线交替进行
  • 时不时查看下git status
  • ls -a/pwd下查看目录
  • 分别修改了各自分支后...
    看历史,非git命令
history

小结

git branch

  • 基于当前最新commit创建一个新的时间线(分支的快照),不是基于当前代码
  • 在哪个分支提交,代码就出现在哪个分支
  • 默认在master主分支
  • Cmder/git-bash会提示目前所在的分支,如果你初始化过,iterm2默认不会,要设置

git checkout

  • 用于切换另一个分支
  • 当前目录有未add/未提交的代码,只要跟另一分支不冲突,就不需要理会,不影响硬盘上原有的文件(git reset是影响的)
  • 如果冲突(修改了文件内容),会报一个error,使git checkout切换失败
  • 此时要么git commit下,要么使用git stash合并冲突

直接查看当前所在branch

不加参:

git branch

输出:

* master
  x
*就表示当前所在branch,智能的Cmder就不用了

合并分支git merge

1. 切到你想保留的那个分支,一般是主分支master

git checkout master

2. 将另一个分支合并到当前分支

git merge xxx

3. 提示有冲突,查看status

git status

4. 在VSCode里逐行修改

  1. 找到========
  2. 逐行修改,删掉=======
  3. 删掉标记<<<<<<<
  4. 删掉标记>>>>>>>
  5. 保存,修改完毕

5. git add标记下(暂存)

git add

6. 直接提交

git commit
不用加参数,自动添加标记 Merge branch 'xxxx'

git merge 可能有冲突,也可能没

  • 发现冲突
  • 合并分支时 ,会得到CONFLICT提示
  • 使用git status -sb查看哪个/哪些文件冲突了
  • UU表示两边都改了
  • s表示summary b表示brunch
  • 解决冲突
  • 依次打开每个文件
  • 搜索====四个等于号
  • 在上下两个部分中选择要保留的代码,只选上面/只选下面/都保留
  • 删除不用的代码
  • 删除==== <<<< >>>>这些标记
  • git add 暂存对应的文件
  • 再次git status -sb,解决下一个文件的冲突
  • 直到没有冲突,运行git commit(注意不需要选项)

小结2

  • 分支可以合并

  • 进入要保留的分支
  • 运行git merge xxx
  • 合并后,删除无用的分支git branch -d xxx
  • 合并时冲突处理

  • 修改代码,解决冲突
  • 然后git commit,使用默认的commit message

Git本地仓库_大总结

命令

  • git config(6行配置)
  • git add 路径(标记:加进/移除购物车 暂存)
  • git status -sb(简化状态信息)
  • git commit -v(提交:结算+记笔账)
  • git branch xxx(创建分支)
  • git checkout xxx(进入分支)
  • git merge xxx(合并分支,还要add下,加进购物车)
  • git commit(提交合并,自动记账)
  • git branch -d xxx(砍掉分支)
  • git log(查看)
  • git reflog(本地上帝视角查看)
  • git reset --hard ******(版本穿越)

.git目录:本地仓库

  • 不会重复复制相同的文件(优化)
  • 可以支持多个分支

一些细节

  • git add
  • 使用git add来临时记录变动外,也能记录git rm xxx(处理的是文件的变化,而不是文件本身)
比如删除一个文件后,依然要用git add来添加到待提交区
rm xxx
git add xxx
git status
git commit -v
当使用git commit提交后,.git会移除xxx:
此时git add xxxgit commit -m"delete xxx" 等同于git rm xxxgit commit -m"delete xxx"
  • 大部分时候,只需git addgit commit -v
  • 不需要GUI,当然你会用,还知道原理
VSCode插件git-easy使用:在当前文件里Ctrl + Shift + p;搜git addAdd All Modified;...

·未完待续·


参考文章

相关文章



Image placeholder
CaptainAI
未设置
  89人点赞

没有讨论,发表一下自己的看法吧

推荐文章
【Git入门5】Git远程仓库 - GitHub常用操作流程1_配置

=================================== 本地仓库和远程仓库是完全隔开的 代码存储在云端GitHub SSHkey验证身份使用场景:可以避免我们重复的输入密码,提高开发效

3.4 Git 分支 - 分支开发工作流

现在你已经学会新建和合并分支,那么你可以或者应该用它来做些什么呢?在本节,我们会介绍一些常见的利用分支进行开发的工作流程。而正是由于分支管理的便捷,才衍生出这些典型的工作模式,你可以根据项目实际情况选

etcd 常用操作介绍

安装 最简单的安装方法是直接去etcdGitHub的Release页下载预编译好的二进制文件。etcd官方为各个系统提供了不同的二进制文件,供开发者根据自己的系统去下载。 下载地址:https://g

etcd 常用操作介绍

安装 最简单的安装方法是直接去etcdGitHub的Release页下载预编译好的二进制文件。etcd官方为各个系统提供了不同的二进制文件,供开发者根据自己的系统去下载。 下载地址:https://g

VIM教程_分屏与标签页

窗口分屏 工作中经常会遇到这种情况,就是需要参照其他文档编辑当前文档(场景:翻译),或者从另外一个文档copy代码到当前文档(场景:复制html元素类名到css文档),这时候就是你最需要分屏的时候。

Git教程_3.1 Git 分支 - 分支简介

几乎所有的版本控制系统都以某种形式支持分支。使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。在很多版本控制系统中,这是一个略微低效的过程——常常需要完全创建一个源代码目录的副本。

Git教程_3.2 Git 分支 - 分支的新建与合并

分支的新建与合并 让我们来看一个简单的分支新建与分支合并的例子,实际工作中你可能会用到类似的工作流。你将经历如下步骤: 开发某个网站。 为实现某个新的需求,创建一个分支。 在这个分支上开展工作。

Git教程_3.3 Git 分支 - 分支管理

现在已经创建、合并、删除了一些分支,让我们看看一些常用的分支管理工具。 gitbranch命令不只是可以创建与删除分支。如果不加任何参数运行它,会得到当前所有分支的一个列表: $gitbranch i

Git教程_3.5 Git 分支 - 远程分支

远程分支 远程引用是对远程仓库的引用(指针),包括分支、标签等等。你可以通过gitls-remote(remote)来显式地获得远程引用的完整列表,或者通过gitremoteshow(remote)获

Web项目工作流程

推荐课程:PHP开发工程师--学习猿地精品在线课 1、Web项目工作流程 1.1了解Web项目工作流程     拓展:       HTTP请求分为三部分: 请求行  介绍自己是什么请求头  属性请

TPC-C解析系列02_OceanBase如何做TPC-C测试

导语:蚂蚁金服自研数据库OceanBase登顶TPC-C引起业内广泛关注,为了更清楚的展示其中的技术细节,我们特意邀请OceanBase核心研发人员对本次测试进行技术解读,共包括五篇:1)TPC-C基

【数据结构】2_数据的艺术

程序设计的挑战 利用计算机解决现实生活中的问题 生活中的不同个体之间存在联系 用计算机程序描述生活中个体间的联系 问题:如何描述生活中的个体?数据的概念程序的操作对象,用于描述客观事物数据的特点 可以

Git教程_ 3.7 Git 分支 - 总结

总结 我们已经讲完了Git分支与合并的基础知识。你现在应该能自如地创建并切换至新分支、在不同分支之间切换以及合并本地分支。你现在应该也能通过推送你的分支至共享服务以分享它们、使用共享分支与他人协作以及

Linux常用命令 & 实用命令万字总结

课程推荐:Linux开发工程师--学习猿地精品课程 ls最高使用频率的命令之一。命令格式:ls[OPTION]...[FILE]...单纯的输入:[root@iz2ze76ybn73dvwmdij06

【Golang+MySQL】记一次 MySQL 数据库迁移(一)

【Golang+mysql】记一次mysql数据库迁移(一)文章地址:https://github.com/stayfoo/stayfoo-hub一、准备目标: 腾讯云CVM自建mysql数据迁移到腾

Python入门教程_4. 深入 Python 流程控制

除了刚刚介绍的while语句,Python还有一些在其他语言中常见的控制流语句,并做了一些改动。 4.1.if语句 也许最著名的语句是if语句了。 例如: >>>x=int(input("Please

Git教程_2.1 Git 基础 - 获取 Git 仓库

假如你只能阅读一章来学习Git,本章就是你的不二选择。本章内容涵盖你在使用Git完成各种工作中将要使用的各种基本命令。在学习完本章之后,你应该能够配置并初始化一个仓库(repository)、开始或停

Git教程_2.2 Git 基础 - 记录每次更新到仓库

记录每次更新到仓库 现在我们手上有了一个真实项目的Git仓库,并从这个仓库中取出了所有文件的工作拷贝。接下来,对这些文件做些修改,在完成了一个阶段的目标之后,提交本次更新到仓库。 请记住,你工作目录下

Git教程_2.5 Git 基础 - 远程仓库的使用

远程仓库的使用 为了能在任意Git项目上协作,你需要知道如何管理自己的远程仓库。远程仓库是指托管在因特网或其他网络中的你的项目的版本库。你可以有好几个远程仓库,通常有些仓库对你只读,有些则可以读写。与

太丢人了……GitHub 阿波罗11号代码仓库惨遭中文灌水

近日登上GitHub趋势热榜第一的阿波罗11号(Apollo11)代码仓库,获得了3万多标星称赞,但也同时惨遭中文灌水的侵扰,引发了众多网友的热议。50年前,三位宇航员搭乘阿波罗11号,完成人类第一次

大数据时代,数据湖并不能完全取代数据仓库

数据仓库为组织了解其历史业务表现和推动持续运营提供了一个接入窗口,为数据分析师和业务用户提供了诸如客户行为、业务趋势、运营效率和销售等方面的信息。尽管出现了基于Hadoop和其他一些大数据技术的数据湖

到2023年,智能城市的支出将达1890亿美元

IDC最新发布的“全球智能城市支出指南”显示,到2023年,全球智能城市支出计划将达到1895亿美元。其中首要是能源和基础设施项目,其次是数据驱动的公共安全和智能交通。在2019年至2023年的预测中

到2023年,全球数字化转型支出将达到2.3万亿美元

根据IDC报告显示,到2023年,全球用于数字转型的支出将达到2.3万亿美元,超过所有ICT支出的一半。全球用于商业实践、产品和企业数字化转型(DX)的技术和服务支出将达到2.3万亿美元。DX支出预计

“12306”是如何支撑百万QPS的?

12306抢票,极限并发带来的思考每到节假日期间,一二线城市返乡、外出游玩的人们几乎都面临着一个问题:抢火车票!虽然现在大多数情况下都能订到票,但是放票瞬间即无票的场景,相信大家都深有体会。尤其是春节

到2023年,SD-WAN供应商的收入将增至44亿美元

包括设备、控制器和管理软件在内的全球软件定义广域网(SD-WAN)市场在2019年第二季度连续增长了23%,这是因为企业加大了购买力度,以用SD-WAN取代其已安装的路由器基础启用的设备。根据IHSM