git实用技巧


前言

现在随着企业项目代码都是多人协作开发,需要一个分布式版本控制系统来管理代码,这个时候git横空出世,解决代码控制管理问题。


一、git是什么?

Git是一个分布式版本控制系统,广泛用于代码管理。

二、Git基础配置

1.初始配置

# 设置用户名和邮箱
git config --global user.name "您的姓名"
git config --global user.email "您的邮箱@example.com"

# 查看配置
git config --list
git config user.name
git config user.email

2.创建仓库

# 初始化新仓库
git init

# 克隆远程仓库
git clone <repository-url>
git clone https://github.com/username/repository.git

三、基本操作命令

1.查看状态

# 查看工作区状态
git status

# 查看文件变更
git diff
git diff --staged  # 查看已暂存的变更

2.添加和提交

# 添加文件到暂存区
git add <filename>
git add .  # 添加所有文件
git add *.java  # 添加所有Java文件

# 提交到本地仓库
git commit -m "提交信息"
git commit -am "提交信息"  # 添加并提交(跳过暂存区)

3.查看历史

# 查看提交历史
git log
git log --oneline  # 简洁显示
git log --graph  # 图形化显示分支
git log -p  # 显示详细变更

# 查看特定文件的变更历史
git log --follow <filename>

四、分支管理

1.分支操作

# 查看分支
git branch
git branch -a  # 查看所有分支(包括远程)

# 创建分支
git branch <branch-name>
git checkout -b <branch-name>  # 创建并切换到新分支

# 切换分支
git checkout <branch-name>
git switch <branch-name>  # Git 2.23+ 推荐使用

# 删除分支
git branch -d <branch-name>  # 安全删除
git branch -D <branch-name>  # 强制删除

2.合并分支

# 合并分支到当前分支
git merge <branch-name>

# 解决冲突后继续合并
git add .
git commit -m "解决合并冲突"

# 取消合并
git merge --abort

五、远程仓库操作

1.远程仓库管理

# 添加远程仓库
git remote add origin <repository-url>

# 查看远程仓库
git remote -v

# 推送到远程
git push origin <branch-name>
git push -u origin <branch-name>  # 设置上游分支

# 从远程拉取
git pull origin <branch-name>
git fetch origin  # 只下载不合并

2.克隆和推送

# 克隆仓库
git clone <repository-url>
git clone -b <branch-name> <repository-url>  # 克隆特定分支

# 推送所有分支
git push --all origin

# 删除远程分支
git push origin --delete <branch-name>

六、撤销和回退

1.撤销操作

# 撤销工作区修改
git checkout -- <filename>
git restore <filename>  # Git 2.23+

# 撤销暂存区修改
git reset HEAD <filename>
git restore --staged <filename>  # Git 2.23+

# 撤销提交
git reset --soft HEAD~1  # 保留修改在暂存区
git reset --mixed HEAD~1  # 保留修改在工作区
git reset --hard HEAD~1  # 完全删除修改

2.回退到特定提交

# 查看提交历史
git log --oneline

# 回退到指定提交
git reset <commit-hash>
git revert <commit-hash>  # 创建新的撤销提交

七、标签管理

# 创建标签
git tag <tag-name>
git tag -a <tag-name> -m "标签信息"  # 带注释的标签

# 查看标签
git tag
git tag -l "v1.*"  # 查看特定模式的标签

# 推送标签
git push origin <tag-name>
git push origin --tags  # 推送所有标签

# 删除标签
git tag -d <tag-name>
git push origin --delete <tag-name>  # 删除远程标签

八、高级操作

1.暂存和恢复

# 暂存当前工作
git stash
git stash save "暂存信息"

# 查看暂存列表
git stash list

# 恢复暂存
git stash pop  # 恢复并删除
git stash apply  # 恢复但不删除
git stash drop  # 删除暂存

# 恢复特定暂存
git stash apply stash@{n}

2.子模块

# 添加子模块
git submodule add <repository-url> <path>

# 克隆包含子模块的仓库
git clone --recursive <repository-url>
git submodule update --init --recursive

# 更新子模块
git submodule update --remote

九、常用工作流程

1.功能开发流程

# 1. 创建功能分支
git checkout -b feature/new-feature

# 2. 开发并提交
git add .
git commit -m "添加新功能"

# 3. 推送到远程
git push origin feature/new-feature

# 4. 创建Pull Request(在GitHub/GitLab上)

# 5. 合并到主分支
git checkout main
git pull origin main
git merge feature/new-feature
git push origin main

2.热修复流程

# 1. 创建热修复分支
git checkout -b hotfix/critical-bug

# 2. 修复并提交
git add .
git commit -m "修复关键bug"

# 3. 合并到主分支和开发分支
git checkout main
git merge hotfix/critical-bug
git push origin main

git checkout develop
git merge hotfix/critical-bug
git push origin develop

十、实用技巧

1.别名配置

# 设置常用别名
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit
git config --global alias.st status
git config --global alias.lg "log --oneline --graph"

2.忽略文件

# 创建.gitignore文件
echo "*.log" >> .gitignore
echo "target/" >> .gitignore
echo "*.class" >> .gitignore

3.查看文件历史

# 查看文件的每一行是谁修改的
git blame <filename>

# 查看文件的变更历史
git log -p <filename>

十一、常见问题解决

1.解决冲突

# 1. 查看冲突文件
git status

# 2. 编辑冲突文件,手动解决冲突

# 3. 添加解决后的文件
git add <conflicted-files>

# 4. 提交解决结果
git commit -m "解决合并冲突"

2.找回丢失的提交

# 查看操作历史
git reflog

# 恢复到指定提交
git reset --hard <commit-hash>

3.清理仓库

# 清理未跟踪的文件
git clean -f

# 清理未跟踪的目录
git clean -fd

# 查看将要清理的文件
git clean -n

十二、Git配置最佳实践

1.全局配置

# 设置默认编辑器
git config --global core.editor "vim"

# 设置换行符处理
git config --global core.autocrlf input  # Linux/Mac
git config --global core.autocrlf true   # Windows

# 设置默认分支名
git config --global init.defaultBranch main

2.项目特定配置

# 在项目目录中设置项目特定的配置
git config user.name "项目专用用户名"
git config user.email "project@example.com"

总结

这些是Git的基本使用方式。根据您的具体需求,可以深入学习特定的命令和功能。建议在实际项目中多加练习,熟练掌握这些命令的使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值