git命令基础操作

发布于:2022-11-28 ⋅ 阅读:(356) ⋅ 点赞:(0)

案例1: git命令合并自己提交的多次Log记录

 

一次commit的时候,发现有段代码没写好,就补了一句以后再commit了一遍,这样就有两条commit语句了。应该把之后补的那条合并到前面去。这时候就需要git rebase语句:
git rebase -i HEAD~2
进入编辑界面,按i进入insert模式,将pick修改成fixup(保留应用,丢弃commit描述)或者squash(保留应用,合并commit描述)等关键字。
注意不能将第一条也就是最近的一条commit给pickup或者squash,这样它就找不到之前的commit进行合并,然后就会报出错误。

案例2:修改commit 日志 log
步骤1:git commit --amend
步骤2:修改描述,shift + insert 进行粘贴
步骤3:git mm upload

案例3:fork的个人分支同步主仓代码并提交代码

step1:
git remote add upstream ssh://git@szv-y.codehub.huawei.com:2222/DCP_DCPPlatform_Galaxy_ICP_MidWare/HPFS_HPF.git
git remote -v
git fetch upstream
git tag | grep xx 查看是否有需要的

step2:
通过:git branch <new-branch-name> <tag-name> 会根据tag创建新的分支。
例如:git branch newbranch v1.0 . 会以tag v1.0创建新的分支newbranch。
可以通过git checkout newbranch 切换到新的分支。

step3:
通过 git push origin newbranch 把本地创建的分支提交到远程仓库。
现在远程仓库也会有新创建的分支了。

实际例子:

git clone ssh://git@szv-y.codehub.huawei.com:2222/c00602537/HPFS_MODDEF.git

git remote add upstream ssh://git@szv-y.codehub.huawei.com:2222/DCP_DCPPlatform_Galaxy_ICP_MidWare/HPFS_MODDEF.git

【git remote add upstream ssh://git@szv-y.codehub.huawei.com:2222/DCP_DCPPlatform_Galaxy_ICP_MidWare/HPFS_HPF.git】

git fetch upstream

git branch br_soho_B083 tag_HPF2_1.0.0.B066_001

git checkout origin br_soho_B083

git push origin br_soho_B083

案例4:通过同步分支和cherry-pick消除merge log

git 配置个人仓和 组件仓
git clone 个人仓库
git remote add base ssh://git@szv-y.codehub.huawei.com:2222/DCP_DCPPlatform_Galaxy_ICP_MidWare/HPFS_HPF.git
本地仓库对应远端两个仓库
git remote -v查看

每次开发新特性,基于tag新起一个分支
先拉取组件仓的代码和tag信息
git fetch base
新建分支
git checkout tag_HPF2_1.0.0.B067_001
git switch -c HPF067

在HPF067分支上完成特性开发
对新开发的代码进行rebase, 合并到一个commit, git log记住commit点 xxx

回到develop分支,并更新到和组件仓最新

【其中develop分支是通过 git checkout -b develop base/br_YunShan_Lite_V1R22C00_proj_develop 分支创建的】
git pull base br_YunShan_Lite_V1R22C00_proj_develop

把HPF067上的commit cherry-pick过来
git cherry-pick xxx

然后把本地的develop提交到个人分支(对应origin 的br_YunShan_Lite_V1R22C00_proj_develop)
git push origin develop:br_YunShan_Lite_V1R22C00_proj_develop 【-- force 可以强制覆盖分支和对应log记录】

案例5:提交代码

git status 查看修改代码状态

git add . 添加所有修改的文件

git commit -m 【添加消息进行提交】  如果没有m参数想保存退出,可以ESC --> 退出编辑状态;接着,连续按两次大写字母键Z

git log 查看合入记录

git push origin br_soho_B083  推到远端分支

本文含有隐藏内容,请 开通VIP 后查看