TypechoJoeTheme

MetMan's Blog

网站页面

日常开发场景Git使用技巧记录

MetMan博 主
2025-09-10
/
0 评论
/
14 阅读
/
741 个字
/
百度已收录
09/10
本文最后更新于 2025年09月10日,已超过 3天没有更新。如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!

记录日常开发场景中常遇到的Git使用技巧备查。

撤销修改场景

工作区文件修改了,但还没有进入版本管理,现在不想要了,如何回退、撤销已有的修改

# 建议使用restore命令
git restore file
# 也可以使用checkout 
git checkout -- file 

合并本地多次提交记录场景

场景:有时开发某一个功能时会提交很多次commit,这样会显得版本日志很乱,尤其是在多人协作的开发场景中。这时可以将多个紧密相关的commit合并成一个。

简单情况:只是对最新一次的commit进行修正的话,可以使用

git commit -v --amend

更复杂情况:

git rebase -i HEAD~4  # 合并最近4次提交记录
# 进入vi编辑模式,根据提示对相应commit选择命令,常用的包括pick,edit,squash,fixup
s cacc52da add: qrcode  
s f072ef48 update: indexeddb hack  
s 4e84901a feat: add indexedDB floder  
p 8f33126c feat: add test2.js

合并成功后,git log会发现四个版本信息变成了一个。

如果异常退出vi编辑窗口,可以执行

git rebase --edit-todo
#进入编辑窗口继续编辑保存
git rebase --continue

不要合并已经提交远程分支的记录,否则会报错

error: cannot 'squash' without a previous commit

## 拉取主分支最新版本到个人开发分支场景

这在团队开发中很常见,主分支频繁更新,个人开发特性分支相比主分支会落后,需要及时更新master主分支最新变动

方法一:使用git merge master合并主分支最新变动,但git日志里会出现merge信息。

方法二:如果希望保持干净的commit,使用git rebase。

git rebase master
# 如果出现冲突,需要解决冲突,然后git add 
git add something
git rebase --continue

# 后悔选项,终止rebase操作 
git rebase --abort

代码版本回滚场景

理解GIT三种模式:工作区、暂存区、版本库

  • 场景1:工作目录代码文件修改完,但还未git add纳入了暂存区

使用git checkout .使用暂存区文件覆盖工作区文件

  • 场景2:已经执行git add纳入暂存区,但还没提交commit到版本库中。
git reset  #先用HEAD指针覆盖当前的暂存区内容
git checkout . #再用暂存区内容覆盖工作区内容

或者

git reset --hard   #直接使用HEAD覆盖当前暂存区和工作区
  • 场景3:已经commit提交到本地版本记录中,但还没有推送到git push远程仓库.
git reset --hard <last_commit_id>  #覆盖本地版本库、暂存区和工作区
  • 场景4: 已经git push推送到远程仓库
git reset --hard <commit_id>
git push origin <remote_branch> --force

误在主分支开发场景

项目规定develop分支为开发主分支,成员不能直接在该分支上修改提交,必须创建类似feature/xxx特性分支进行开发。但有时候拉取版本后忘记了创建特性分支,直接在develop分支修改。此时如何处理?

# 暂存develop分支修改内容
git stash 
# 然后创建特性分支
git checkout -b new_branch
# 将暂存修改放到新建分支中
git stash pop
# 此时可以正常使用git add继续开发

除master分支外删除其它分支场景

在开发过程中根据分配的任务可能会创建很多特性分支、BUG修正分支等等,希望批量删除这些分支场景。

git stash && git checkout master && git branch | grep -v "master" | xargs git branch -D
git
朗读
赞(0)
版权属于:

MetMan's Blog

本文链接:

https://blog.metman.top/index.php/archives/206/(转载时请注明本文出处及文章链接)

评论 (0)

互动读者

标签云

最新回复

  1. tqymnonccc打酱油
    2024-09-27
  2. toibdpojay打酱油
    2024-09-22
  3. yvctxyevvw打酱油
    2024-09-22
  4. frezhwzwuq打酱油
    2024-09-22
登录
X
用户名
密码