git
1.创建分区并切换到分区
git checkout -b 分区名
2.创建分区
git branch 分区名
3.切换分区
git checkout 分区名
4.查看所有分区
git branch -a
5.删除分区
git branch -d 分区名 (已合并到当前分区)
git branch -D 分区名 (还没有合并到当前分区,注意原来合并过的数据会丢失)
6.查看提交日志
git log
--pretty=oneline 单行显示
git log --graph --pretty=oneline
--abbrev-commit 显示id的前7位 (即可使用操作的位数)
git log --graph --pretty=oneline --abbrev-commit
7.合并其他分区,到当前分区
git merge 分区名
注意有冲突的话需要解决冲突后才能提交
如果分支只有你自己一个人用的话,可以使用下面的方式,合并分区
git rebase 分区名
7.工作区和暂存区文件区别
git diff 对比的是同一个文件在工作区和暂存区的区别
git diff --cached 对比的是同一个文件在暂存区和本地仓库的区别
git diff HEAD 对比的是同一个文件在本地仓库和工作区的区别 (HEAD 指向的是 local repository 中最新提交的版本)
git 目录中的文件都在工作区
git add 后相应的文件就复制到了暂存区
git commit 后相应的文件就提交到本地仓库
git push 后相应的文件就推送到远程仓库了
git 合并方式
git merge (git merge --ff)
git merge --no-ff
git merge --squash
fast-forward (--ff)
Git 合并两个分支时,如果顺着一个分支走下去可以到达另一个分支的话,那么 Git 在合并两者时,只会简单地把指针右移,叫做“快进”(fast-forward)不过这种情况如果删除分支,则会丢失merge分支信息。
–squash
把一些不必要commit进行压缩,比如说,你的feature在开发的时候写的commit很乱,那么我们合并的时候不希望把这些历史commit带过来,于是使用–squash进行合并,此时文件已经同合并后一样了,但不移动HEAD,不提交。需要进行一次额外的commit来“总结”一下,然后完成最终的合并。
–no-ff
关闭fast-forward模式,在提交的时候,会创建一个merge的commit信息,然后合并的和master分支
merge的不同行为,向后看,其实最终都会将代码合并到master分支,而区别仅仅只是分支上的简洁清晰的问题,然后,向前看,也就是我们使用reset
的时候,就会发现,不同的行为就带来了不同的影响
git merge和git rebase 区别参考
https://zhuanlan.zhihu.com/p/57872388
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
2019-12-06 ios 真机使用相机闪退问题