git的一些操作

1 关于 git mergegit rebase 的差异

git merge(合并)

  • 功能:将一个分支的更改合并到当前分支,创建一个新的合并提交。
  • 优点:操作简单,保留分支历史,便于追溯。
  • 缺点:历史记录可能变得复杂,合并提交较多。
  • 适用场景:多人协作,需要保留分支历史。

git rebase(变基)

  • 功能:将一个分支的更改重新定位到另一个分支上,使提交历史更加清晰、线性。
  • 优点:历史记录清晰,便于代码审查。
  • 缺点:操作复杂,容易出错,可能会改写历史。
  • 适用场景:个人开发,需要整理提交历史。

使用建议

  • 如果需要保留分支历史,适合多人协作,推荐使用 git merge
  • 如果希望提交历史更清晰,适合个人开发,推荐使用 git rebase
  • 在推送代码到远程仓库后,尽量避免使用 git rebase,以免导致历史不一致。

2 git stash的使用

假设在 feature 分支上进行开发,但突然需要切换到 main 分支修复一个紧急问题:

csharp 复制代码
# 保存当前工作目录和暂存区的更改
git stash

# 切换到 main 分支
git checkout main

# 修复问题并提交
git add .
git commit -m "Fix urgent issue"

# 切换回 feature 分支
git checkout feature

# 应用之前保存的更改
git stash pop

注意事项

  • git stash 只保存工作目录和暂存区的更改,不会保存未跟踪的文件(如新添加的文件)。
  • 如果在应用暂存区的更改时发生冲突,Git 会提示你手动解决冲突。
  • 使用 git stash 时,建议定期清理暂存区,避免记录过多。

git stash 是一个非常实用的工具,可以帮助你更好地管理开发过程中的临时更改。

相关推荐
云计算练习生14 小时前
linux shell编程实战 10 Git工具详解与运维场景实战
linux·运维·git
MUTA️1 天前
git传输超过100MB的文件
git
ALex_zry1 天前
Git大型仓库推送失败问题完整解决方案
大数据·git·elasticsearch
二进制coder1 天前
Git Fork 开发全流程教程
大数据·git·elasticsearch
程序员馨馨1 天前
不扰远程仓库,本地双版本:master 留 A 稿,分支藏 B 稿
git
无限进步_1 天前
C语言动态内存的二维抽象:用malloc实现灵活的多维数组
c语言·开发语言·数据结构·git·算法·github·visual studio
用户47861297206921 天前
Git:如何排查非线性历史中被隐秘覆盖的修改(完整实战笔记)
git
weixin_377634841 天前
【Git使用】PyCharm中的Git使用
ide·git·pycharm
爱吃泡芙的小白白1 天前
vscode、anaconda、git、python配置安装(自用)
ide·git·vscode·python·anaconda·学习记录
ALex_zry2 天前
Git大型仓库推送失败问题解决方案:大文件传输优化指南
git