[git] 基础操作-02 分支和主支合并
前言:
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 分支和主支合并相关推荐
- git命令判断当前分支是否与master合并
git命令判断当前分支是否与master合并 有的时候在编写批处理脚本时,需要判断git的当前分支是否与目标分支合并,则可以通过下面的脚本进行判断. is_merged=0 git log origi ...
- Git基础操作及常见命令——详解
这是我看了一些大牛们讲解之后做了一下总结,其中讲解较为详细的是廖雪峰的Git讲解 目录 Git的简介 Git的安装 创建仓库 编辑文件 修改文件 查看修改记录 撤销修改 删除文件 连接GitHub 分 ...
- 【Git版本控制】Git基础入门和分支管理
原文作者:我辈理想 版权声明:文章原创,转载时请务必加上原文超链接.作者信息和本声明. 文章目录 前言 一.Git是什么? 二.git代码托管平台 三.git入口 (一)安装 1.linux安装 2. ...
- 乌龟git 分支_关于git中自己的分支和主分支有冲突的解决方案(git和乌龟git)...
阐述一个案例,最近在开发中遇到一个问题.自己在代码的主分支拉了一个分支,开始快乐的开发修改了.同事小明也在主分支拉了一个分支,也在快乐的修改.小明的开发速度很快,一个问题很快就解决了,并且把自己的代码 ...
- [git] 基础操作-01-diff / diff head 版本比较 - 非常的详细讨论版本比较中的各种符号的意思,以及如何在git中进行版本比较
前言: 本文讨论,各个处理逻辑中版本的表述.比较中,git的操作的细节和表述符合的具体意义:(非常细节,会的朋友可以跳过) 对于 遇到的各个命令,会给出详细的解释在附录里面: 理解git文档的四个状态 ...
- git基础之切换分支
总结一下git基本copy远程项目: 首先,新建一个文件夹,选择git bash here,弹出git命令行窗口,输入git init,此时这个文件夹就是本地git仓库,然后将远程仓库的ssh 复制下 ...
- git / 如何将其他分支的某些 commit 合并到当前分支中?
前几天被问到如何用 git 将其他分支的某些 commit 合并到当前分支的问题,当时一点概念都没有,现在总结一下. 需要用到的指令为 cherry-pick,栗子: git cherry-pick ...
- git仓库创建后,由主支变成开发分支
- git进阶 | 01 - git基础操作进阶
引言 上次写git入门教程还是2019年(Git & Github学习总结),三年期间使用最多的命令不过三条: git add -A git commit -m "" gi ...
最新文章
- C++大学教程(第九版)2016-07 保罗·戴特尔 (Paul Deitel)、 哈维·戴特尔 (Harvey Deitel)_cafbe(C++中文版)
- [转]浅析DDD(领域驱动设计)
- PartitionMotionSearch()
- WSS连接服务器端报错
- BZOJ1423 : Optimus Prime
- 卖程序的小女孩(转)
- Linux使用SIGALARM信号的定时器
- IoC容器4——依赖
- “国防七子”经费暴增,清华再增45亿,甩第二名101亿 |全国高校2022预算大公开...
- Http状态代码指示
- Win10客户端 ssh 远程连接 win server 2008 R2服务器
- 《OpenGL编程指南(原书第9版)》——2.8 SPIR-V
- 手工创建Oracle11g完整版(超详细)
- 《工业控制系统信息安全防护指南》实施建议(下)
- python综合程序设计——做一个可视化大屏
- S32K144库函数
- Worktile 中百万级实时消息推送服务的实现
- 怎样给计算机设置屏幕锁,怎么给电脑设置锁屏密码
- 什么是BGP协议,以及其工作原理
- layui框架使用方法详解