👟

日常使用命令

 
🏖️
GitHub不再支持密码验证解决方案:SSH免密与Token登录配置
  • 查看提交记录
git reflog
notion image
  • 前进或者回退到指定的版本.
git reset --hard 指定的版本号 --hard : 本地库, 暂存区, 工作区都会跟着一起前进或者后退(常用) --mixed: 本地库, 暂存区会一起前进或者后退, 但是工作区不会发生变化. --soft: 本地库前进或者后退时, 暂存区和工作区都不会发生变化
 

合并提交记录

notion image
合并本地提交记录 1,2,3 为一条提交记录
找到最早的一个要合并的记录的前一个提交 id, 这里是: c84cfc67c21f5324d9313b7513ff172ebfa8978a
notion image
执行命令: git rebase -i c84cfc67c21f532 进入合并操作界面
notion image
看到下方的提交帮助文本中的 s, squash , 使用提交记录, 但是提交信息合并到前一个提交记录中.于是将提交记录 2,3 的 pick,修改为 s, 然后保存退出.
notion image
进入提交message 合并界面
notion image
编辑合并提交记录为: commit 123, 删除不要的提交记录, 如图: 然后保存退出.
notion image
再次查看提交记录: git log, 可以看到之前的三条提交记录已经合并为: commit 1,2,3, 直接 push 即可.
notion image
 
将本地的开发代码提交到暂存区, 切到其他分支处理完任务后, 再把暂存区的代码拿回来
git stash
git stash list
git checkout feature/dddd
git stash apply

放弃本地所有更改, 直接回滚到和远端分支相同

git reset –hard origin / master
 
 
  • 查看已提交未push的数量
git status
On branch feature/base Your branch is ahead of 'origin/feature/base' by 2 commits.
可以看到本地有两份已提交, 未push得commit.
  • 查看已提交未push的提交message
git cherry -v
+ 03cfa896856bf87ca23f27ed8c5d8936906d6bbf feat(social): 提供按照authUserIds和platform查询用户unionId接口 + dda56c96830b423bac781006a1a4772bafd06906 feat(doc): 补充方法doc
显示了两个已提交未push的commit内容
  • 查看已提交未push内容详情
git log feature/base ^origin/feature/base
commit dda56c96830b423bac781006a1a4772bafd06906 (HEAD -> feature/base) Author: lee <leejiliang@126.com> Date: Thu Aug 18 10:35:11 2022 +0800 feat(doc): 补充方法doc commit 03cfa896856bf87ca23f27ed8c5d8936906d6bbf Author: lee <leejiliang@126.com> Date: Thu Aug 18 10:28:15 2022 +0800 feat(social): 提供按照authUserIds和platform查询用户unionId接口
 
修改提交过的commit信息

修改最近提交的 commit 信息

$ git commit --amend --message="modify message by daodaotest" --author="jiangliheng jiang_liheng@163.com"

仅修改 message 信息

$ git commit --amend --message="modify message by daodaotest"

仅修改 author 信息

$ git commit --amend --author="jiangliheng jiang_liheng@163.com"

maven 父工程添加子模块

  1. git submodule add https://git.souban.io/customer-delivery/yanchuangyuan/admin-service.git
  1. 修改父工程pom.xml 添加<modules>

maven 父工程删除子模块

# 1. 删除 pom.xml # 2. 删除 .gitmodules # 3. 删除项目文件夹 # 4. git commit # 5. 删除本地配置 例如删除 agent-promotion-servicerm -rf .git/modules/agent-promotion-service

下载maven 父子工程

# 克隆此仓库 git clone https://xxxxx.git # 切换到master分支 git checkout master # 更新submodule代码 git submodule update --init --recursive # 将所有的submodule切换到master分支 git submodule foreach 'git checkout master'