前言:
git 创建分支和合并分支的细节,和可能遇的任何问题
1.1
用git status,查阅可见如下:
右侧蓝色部分为分支名字
git branch
分支 上git log现在只能显示分支上的版本了
解决办法,看后面5,问题解答
git checkout BranchName
首先,用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节错误
这样 原来的branch的表述:
变成了:
在git gui上,我们看到HEAD(黄色)的即是master又是一个分支节点
同样,在git command上也一样
这两个问题,
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只需要:加 -g的参数
$ git log -g
小结:
参考:
https://blog.csdn.net/m0_38022029/article/details/79054619
https://blog.csdn.net/qq_32452623/article/details/75645578
https://www.jianshu.com/p/0b05ef199749