Git 笔记

基本配置#

如何在本地环境配置github - trigkit4 - SegmentFault 思否

合并多个 commit#

很多时候都以为这次一定没问题了, 但是提交了之后才发现其实并没有解决问题, 因此就再次提交, 为了提交信息清爽、有效, 可以合并一些commit.

  • 方法一是通过 git rebase 合并的方法
Copy
# 首先使用合并命令, 两种方法 ## 一种是合并最近n次 commit git rebase -i HEAD~3 ## 一种是合并到某个版本号 git rebase -i 8fb7df # 合并 ## 命令执行以后, 会弹出一个窗口 pick 3ca6ec3 '注释**********' pick 1b40566 '注释*********' pick 53f244a '注释**********' ## 将第一行之外的 pick 改为 squash 或 s, 然后 wq 保存 pick 3ca6ec3 '注释**********' s 1b40566 '注释*********' s 53f244a '注释**********' ## 保存成功之后就会弹出第二个文件, 如果不想修改 commit messgae, 只要继续 wq 保存即可完成合并. # This is a combination of 4 commits. #The first commit’s message is: 注释...... # The 2nd commit’s message is: 注释...... # The 3rd commit’s message is: 注释......
  • 方法二
    通过 git reset 合并
Copy
# 使用 git reset 命令回到两个 commit 之前的版本, 但并不撤销当前版本的代码 git reset --soft HEAD~2 # 此时重新 commit 即可完成合并 git commit --amend

Git User Config#

使用不同的代码托管平台, 可能 username 和 email 也有所不同.

  • 全局配置, 为项目提供默认配置
    通过下面一条命令, 可以为电脑配置 git 默认的 name 和 email
Copy
git config --global user.name 'name' git config --global user.username 'username' git config --global user.email 'address@mail.com'
  • 实际上, 执行该命令会在个人根目录下创建 .gitconfig 文件, 通过修改该文件能达到相同的效果
Copy
[user] name = name email = address@mail.com
  • 局部配置, 针对项目进行专有配置
Copy
git config --local user.name 'name' git config --local user.username 'username' git config --local user.email 'address@mail.com'
  • 同样地, 执行该命令会在 .git 文件夹下创建 config文件, 通过修改该文件能达到相同的效果
Copy
[user] name = name email = address@mail.com

撤销 commit#

与合并 commit 是类似的需求, 如果某一次 commit 提交的代码仍然有问题, 更麻烦的, 如果上传了一些奇奇怪怪的文件, 如果不小心上传了配置文件, 就需要撤销 commit.

总之都是回到上个版本, 但是代码仍然保留, 重新修改即可重新 commit.

Copy
git reset --soft HEAD^ git reset commit-id # 对于不小心 git add . 追踪的文件, 使用一下命令就可以取消追踪 git checkout -- <file>

  1. Git 合并多个commit - nihao - SegmentFault 思否 ↩︎

posted @   质子  阅读(140)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· Qt个人项目总结 —— MySQL数据库查询与断言
点击右上角即可分享
微信分享提示
CONTENTS