前言:

git   创建分支和合并分支的细节,和可能遇的任何问题


1 判断在分支的方法

1.1

用git status,查阅可见如下:

右侧蓝色部分为分支名字

git branch


2 构建新的分支

$ git branch BranchName

分支 上git log现在只能显示分支上的版本了

解决办法,看后面5,问题解答


3从主支切换到分支的方法

git checkout BranchName


4 从分支切换到主支的方法

首先,用git status 判断 是否是比较清爽的状态

所谓【案】 清爽的状态,就是所谓清爽的clean状态,就是
当前工作目录下,是否所有的文档都已经被跟踪了,或者,已经决定不跟踪了,如果,还有新建的文件,或者改动的文件,那么,版本的切换都是不安全的。

$ git status
On branch TenJunReq
nothing to commit, working tree clean

只要是clean了,那么这时候版本切换是100的不会报错的。

$ git checkout master
Updating files: 100% (766/766), done.
Switched to branch 'master'

否则,就有可能中途报错退出。

【案】见处理3节错误


2.1 分支并入主支,也就是merge的方法

$ git  merge TenJunReq
Updating files: 100% (766/766), done.
Updating 55c7718..affb139

这样 原来的branch的表述:

变成了:

在git gui上,我们看到HEAD(黄色)的即是master又是一个分支节点

同样,在git command上也一样

2.2 主支并入分支,也就是rebase的方法


5 遇到的问题:

5.1 checkout 回到master 报错:

$ git checkout master
error: Your local changes to the following files would be overwritten by checkout:
error: The following untracked working tree files would be overwritten by checkout:
Aborting

这两个问题,

1 项目文件本地修改会被覆盖

​​​​​​这个又分两种情况

1.1 一个本地修改已经到暂存区(staged) 里面了

这个通过将本地版本文件用commit的办法checkIn可以解决,就是文件以及本地修改,并在暂存区了,但是还没有提交到仓库。

1.2 连暂存也没提交

​​那就是要不你就 add,commit提交,

要不就干脆不要了吧,也许也是胡乱写的思路,git restore放弃工作目录的修改​​​

$ git status
HEAD detached at affb139
Changes not staged for commit:(use "git add/rm <file>..." to update what will be committed)(use "git restore <file>..." to discard changes in working directory)

2 项目文件有一些还没有进入版本管理

这个你这时候要判断,你的这些文件是否都是重要的 需加入, 还是可以放弃?放弃

2.1 可以放弃的话,用git clean来处理

$ git clean -n
Would remove fringe_pattern_tx3_mode0/db/fringe_pattern.(202).cnf.cdb

先用git clean -n,来确认一下些会被 放弃管理。

$ git clean -f
Removing fringe_pattern_tx3_mode0/db/fringe_pattern.(202).cnf.cdb

然后,用git clean -f 来移除这些不需要管理的文件

2.2  不放弃,那就要走add 的流程

add -> commit

$ git add .

以上 添加所有没有 添加到暂存的文件和修改

添加后,颜色会变绿,这时候,如果反悔,提示了,用git restore

上述步骤后,再查看,如果如下显示,clean了那么就没问题

$ git status
nothing to commit, working tree clean

5.2 checkout 分支后,只能看到分支的记录,主支看不到了

只需要:加 -g的参数

$ git log -g

小结:


参考:

1 git的分支与合并的两种方法

https://blog.csdn.net/m0_38022029/article/details/79054619

2 解决checkout报错的方法

https://blog.csdn.net/qq_32452623/article/details/75645578

3 git clean 和 git reset的用法

https://www.jianshu.com/p/0b05ef199749

[git] 基础操作-02 分支和主支合并相关推荐

  1. git命令判断当前分支是否与master合并

    git命令判断当前分支是否与master合并 有的时候在编写批处理脚本时,需要判断git的当前分支是否与目标分支合并,则可以通过下面的脚本进行判断. is_merged=0 git log origi ...

  2. Git基础操作及常见命令——详解

    这是我看了一些大牛们讲解之后做了一下总结,其中讲解较为详细的是廖雪峰的Git讲解 目录 Git的简介 Git的安装 创建仓库 编辑文件 修改文件 查看修改记录 撤销修改 删除文件 连接GitHub 分 ...

  3. 【Git版本控制】Git基础入门和分支管理

    原文作者:我辈理想 版权声明:文章原创,转载时请务必加上原文超链接.作者信息和本声明. 文章目录 前言 一.Git是什么? 二.git代码托管平台 三.git入口 (一)安装 1.linux安装 2. ...

  4. 乌龟git 分支_关于git中自己的分支和主分支有冲突的解决方案(git和乌龟git)...

    阐述一个案例,最近在开发中遇到一个问题.自己在代码的主分支拉了一个分支,开始快乐的开发修改了.同事小明也在主分支拉了一个分支,也在快乐的修改.小明的开发速度很快,一个问题很快就解决了,并且把自己的代码 ...

  5. [git] 基础操作-01-diff / diff head 版本比较 - 非常的详细讨论版本比较中的各种符号的意思,以及如何在git中进行版本比较

    前言: 本文讨论,各个处理逻辑中版本的表述.比较中,git的操作的细节和表述符合的具体意义:(非常细节,会的朋友可以跳过) 对于 遇到的各个命令,会给出详细的解释在附录里面: 理解git文档的四个状态 ...

  6. git基础之切换分支

    总结一下git基本copy远程项目: 首先,新建一个文件夹,选择git bash here,弹出git命令行窗口,输入git init,此时这个文件夹就是本地git仓库,然后将远程仓库的ssh 复制下 ...

  7. git / 如何将其他分支的某些 commit 合并到当前分支中?

    前几天被问到如何用 git 将其他分支的某些 commit 合并到当前分支的问题,当时一点概念都没有,现在总结一下. 需要用到的指令为 cherry-pick,栗子: git cherry-pick ...

  8. git仓库创建后,由主支变成开发分支

  9. git进阶 | 01 - git基础操作进阶

    引言 上次写git入门教程还是2019年(Git & Github学习总结),三年期间使用最多的命令不过三条: git add -A git commit -m "" gi ...

最新文章

  1. C++大学教程(第九版)2016-07 保罗·戴特尔 (Paul Deitel)、 哈维·戴特尔 (Harvey Deitel)_cafbe(C++中文版)
  2. [转]浅析DDD(领域驱动设计)
  3. PartitionMotionSearch()
  4. WSS连接服务器端报错
  5. BZOJ1423 : Optimus Prime
  6. 卖程序的小女孩(转)
  7. Linux使用SIGALARM信号的定时器
  8. IoC容器4——依赖
  9. “国防七子”经费暴增,清华再增45亿,甩第二名101亿 |全国高校2022预算大公开...
  10. Http状态代码指示
  11. Win10客户端 ssh 远程连接 win server 2008 R2服务器
  12. 《OpenGL编程指南(原书第9版)》——2.8 SPIR-V
  13. 手工创建Oracle11g完整版(超详细)
  14. 《工业控制系统信息安全防护指南》实施建议(下)
  15. python综合程序设计——做一个可视化大屏
  16. S32K144库函数
  17. Worktile 中百万级实时消息推送服务的实现
  18. 怎样给计算机设置屏幕锁,怎么给电脑设置锁屏密码
  19. 什么是BGP协议,以及其工作原理
  20. layui框架使用方法详解

热门文章

  1. 设计模式 - 七大设计原则(一)
  2. js designMode contentEditable 编辑在线网页
  3. Mac Nginx 配置 Tomcat 配置 jdk环境变量 Nginx部署服务遇到的坑(3)
  4. 【树莓派】树莓派3B安装宝塔面板并配置安装LNMP
  5. 计算机支持的游戏化教学,初中信息技术教学中游戏化教学的应用探究
  6. django和scrapy创建项目命令
  7. 一日一技:一文搞懂Python错误和异常
  8. Django框架——HttpResponse对象
  9. 同步请求和异步请求的区别
  10. asp.net学习之SqlDataSource 1 select的四种参数赋予形式的解释