正规外贸网站建设公司,衡阳建设学校网站,园林设计公司网站,南昌住房城市建设支行官方网站前言
Java之父于胜军说过#xff0c;曾经一位“三年开发经验”的程序员粉丝朋友#xff0c;刚入职因为不会解决分支问题而被开除#xff0c;这是不是在警示我们什么呢#xff1f; 针对一些Git的不常用操作#xff0c;我们通过例子来演示一遍
1.版本回退
1.1已提交但未p…前言
Java之父于胜军说过曾经一位“三年开发经验”的程序员粉丝朋友刚入职因为不会解决分支问题而被开除这是不是在警示我们什么呢 针对一些Git的不常用操作我们通过例子来演示一遍
1.版本回退
1.1已提交但未push
撤销Commit 先commit一次
通过git log查看提交的版本号然后git reset来撤销commit 撤销commit和add 首先创建一个文件
进行commit
通过git reset --mixed 撤销add和commit 1.2提交并且push
使用git reset会完全抹去v4版本并且在日志中也无法查询 生产环境中误提交到主分支就可以使用这个
1.提交两次版本
2.回退到版本v1reset想要去到的版本号
回退效果 push回退之后的V1版本
使用git revert进行版本回退会重新生成一个版本之前的无用版本也会存在与记录中
1.找到撤销的版本号
git revert 版本号进入vi界面修改Revert提交信息之后wq退出
修改成功之后直接push也可以对当前版本做出调整之后add–commit–push 可以看到旧版本还存在提交的是生成的“新版本”并且内容回退到了v1
2.分支操作
2.1如何切换分支而使之前分支的代码不丢失
使用git stash将代码暂存开发完成之后切换到该分支对代码进行释放
切换到m2分支进行m2分支的工作修复bug工作完成commit之后 git checkout m2
回到m1分支继续进行之前的开发git checkout m1 之后git stash pop 分支暂存相当于一个入栈操作此时m1分支暂存的记录就被删除了“相当于出栈”使用git stash apply则不会删除
2.2如何拿到其他分支提交的代码
通过cherry-pick 提交版本号即可拿到
3.分支问题
3.1压缩分支
在项目开发中如果多次commit的是一个模块的内容为了使分支更加美观我们可以将多次提交的记录压缩成一次通过getRebase即可 比如提交了三个版本直接git rebase -i HEAD~3回车即可
当然也可以使用IDEA自带的快捷键进行使用
3.2合并分支
在实际场景中当其他分支要合并到主分支中直接使用git merge解决分支冲突之后commit push即可
分支被成功合并
为了避免主分支分叉我们可以进行变基操作git rebase dev
变基后主分支就变成了一条直线
然后进行分支合并git merge这样在开发过程中中多余分支就与主分支没有了交集即可以直接删除
这样删除多于分支就没什么问题了因为都已合并到了主分支