Java面试题之项目管理工具 Git 篇(git项目管理流程)

工作中 git 开发使用流程 (命令版描述)

开发一个新功能流程: (master 线上分支, dev 测试分支)

git clone 注释 1

git checkout -b product 新建一个product 分支并且切换到 product 分支 git add ./ 提交开发需求到暂存区域

git commit -m '开发商品模块'

git push origin pengyu

git co test //切换到 test 分支

git merge pengyu //带你开发的业务代码合并到 test 分支

git push origin test //带你开发的业务代码推送到远端的 test 分支

Java面试题之项目管理工具 Git 篇(git项目管理流程)

Reset 与 Rebase,Pull 与 Fetch 的区别

git reset 不修改 commit 相关的东西, 只会去修改.git 目录下的东西 。

git rebase 会试图修改你已经 commit 的东西, 比如覆盖 commit 的历史等, 但是不能 使用 rebase 来修改已经 push 过的内容, 容易出现兼容性问题 。rebase 还可以来解决 内容的冲突, 解决两个人修改了同一份内容, 然后失败的问题 。

git pull pull=fetch merge,

使用 git fetch 是取回远端更新, 不会对本地执行 merge 操作, 不会去动你的本地的 内容 。 pull 会更新你本地代码到服务器上对应分支的最新版本

git merge 和 git rebase 的区别

git merge 把本地代码和已经取得的远程仓库代码合并 。

git rebase 是复位基底的意思, gitmerge 会生成一个新的节点, 之前的提交会分开显 示, 而 rebase 操作不会生成新的操作, 将两个分支融合成一个线性的提交。

git 如何解决代码冲突

第一种:

git stash

git pull

git stash pop

这个操作就是把自己修改的代码隐藏, 然后把远程仓库的代码拉下来, 然后把自己隐 藏的修改的代码释放出来, 让 gie 自动合并 。

如果要代码库的文件完全覆盖本地版本。

git reset –hard

git pull

第二种: 通过开发工具 idea 进行 merge 代码合并

项目开发时 git 分支情况

主干分支 master: 主要负责管理正在运行的生产环境代码 。永远保持与正在运行的生 产环境完全一致 。

开发分支 develop: 主要负责管理正在开发过程中的代码 。一般情况下应该是最新的 代码。

bug 修理分支 hotfix: 要负责管理生产环境下出现的紧急修复的代码 。 从主干分支分 出, 修理完毕并测试上线后, 并回主干分支 。并回后, 视情况可以删除该分支 。

发布版本分支 release: 较大的版本上线前, 会从开发分支中分出发布版本分支, 进行 最后阶段的集成测试 。该版本上线后, 会合并到主干分支 。生产环境运行一段阶段较 稳定后可以视情况删除 。

功能分支 feature: 为了不影响较短周期的开发工作, 一般把中长期开发模块, 会从开 发分支中独立出来 。 开发完成后会合并到开发分支 。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2024年4月24日 下午2:55
下一篇 2024年4月24日 下午3:07

相关推荐