Git命令这样用,代码管理轻松搞定

Git命令这样用,代码管理轻松搞定

在日常开发中,Git命令是每个程序员必备的技能。但是面对几十个Git命令,很多同学总是记不住、用不对。今天就来整理一份最实用的Git命令清单,让你的代码管理变得轻松高效。

基础配置命令

让Git认识你

在开始使用Git之前,先让Git知道你是谁:

# 设置用户名和邮箱(全局配置) git config --global user.name "张三" git config --global user.email "zhangsan@example.com"  # 查看当前配置 git config --list  # 只为当前项目设置(局部配置) git config user.name "张三" git config user.email "zhangsan@company.com" 

常用的其他配置:

# 设置默认编辑器 git config --global core.editor "code --wait"  # 设置别名,简化命令 git config --global alias.st status git config --global alias.co checkout git config --global alias.br branch git config --global alias.ci commit  # 现在可以使用简化命令 git st    # 等同于 git status git co    # 等同于 git checkout 

仓库初始化和克隆

开始你的Git之旅

创建新仓库

# 在当前目录初始化Git仓库 git init  # 在指定目录创建新仓库 git init my-project  # 创建裸仓库(用于服务器) git init --bare my-repo.git 

克隆远程仓库

# 克隆远程仓库 git clone https://github.com/user/repo.git  # 克隆到指定目录 git clone https://github.com/user/repo.git my-local-name  # 只克隆最新的提交(浅克隆) git clone --depth 1 https://github.com/user/repo.git  # 克隆指定分支 git clone -b develop https://github.com/user/repo.git 

文件状态管理

掌控代码变更

Git文件有四种状态:

Git命令这样用,代码管理轻松搞定

查看文件状态

# 查看工作区状态 git status  # 简化显示 git status -s  # 查看具体的文件差异 git diff  # 查看暂存区的差异 git diff --staged 

添加文件到暂存区

# 添加单个文件 git add filename.txt  # 添加多个文件 git add file1.txt file2.txt  # 添加所有修改的文件 git add .  # 添加所有txt文件 git add *.txt  # 交互式添加(选择性添加文件的部分内容) git add -p 

撤销操作

# 撤销工作区的修改 git checkout -- filename.txt  # 撤销暂存区的文件(保留工作区修改) git reset HEAD filename.txt  # 撤销最后一次提交(保留文件修改) git reset --soft HEAD~1  # 撤销最后一次提交(丢弃文件修改) git reset --hard HEAD~1 

提交代码命令

记录你的每一次变更

基本提交操作

# 提交暂存区的文件 git commit -m "提交信息"  # 添加文件并提交(跳过git add) git commit -am "提交信息"  # 修改最后一次提交信息 git commit --amend -m "新的提交信息"  # 向最后一次提交添加文件 git add forgotten-file.txt git commit --amend --no-edit 

规范化提交信息

# 功能开发 git commit -m "feat: 新增用户登录功能"  # Bug修复 git commit -m "fix: 修复密码验证逻辑错误"  # 文档更新 git commit -m "docs: 更新API使用说明"  # 代码重构 git commit -m "refactor: 优化数据库查询性能"  # 样式调整 git commit -m "style: 统一代码缩进格式" 

详细提交信息

# 包含详细描述的提交 git commit -m "fix: 修复用户注册邮箱验证问题  - 修复邮箱格式验证正则表达式 - 添加邮箱重复性检查 - 优化错误提示信息显示  Closes #123" 

分支管理命令

并行开发的利器

查看分支

# 查看本地分支 git branch  # 查看远程分支 git branch -r  # 查看所有分支 git branch -a  # 查看分支详细信息 git branch -v 

创建和切换分支

# 创建新分支 git branch feature-login  # 切换分支 git checkout feature-login  # 创建并切换分支(一步完成) git checkout -b feature-login  # 使用新语法创建并切换分支 git switch -c feature-login  # 切换到上一个分支 git checkout - 

分支合并和删除

# 合并分支(先切换到目标分支) git checkout main git merge feature-login  # 删除本地分支 git branch -d feature-login  # 强制删除分支 git branch -D feature-login  # 删除远程分支 git push origin --delete feature-login 

远程仓库操作

与团队协作的桥梁

查看远程仓库

# 查看远程仓库 git remote  # 查看远程仓库详细信息 git remote -v  # 查看特定远程仓库信息 git remote show origin 

添加和删除远程仓库

# 添加远程仓库 git remote add origin https://github.com/user/repo.git  # 修改远程仓库地址 git remote set-url origin https://github.com/user/new-repo.git  # 删除远程仓库 git remote remove origin 

推送和拉取代码

# 推送到远程仓库 git push origin main  # 首次推送并建立跟踪关系 git push -u origin main  # 推送所有分支 git push origin --all  # 拉取远程代码 git pull origin main  # 获取远程代码但不合并 git fetch origin  # 强制推送(谨慎使用) git push --force origin main 

查看历史记录

回顾代码演进历程

基本日志查看

# 查看提交历史 git log  # 单行显示提交历史 git log --oneline  # 图形化显示分支历史 git log --graph --oneline  # 查看最近3次提交 git log -3  # 查看指定作者的提交 git log --author="张三" 

高级日志筛选

# 查看指定时间范围的提交 git log --since="2024-01-01" --until="2024-01-31"  # 查看包含特定关键词的提交 git log --grep="登录"  # 查看指定文件的修改历史 git log -- src/main.js  # 查看文件的详细修改内容 git log -p src/main.js  # 查看提交统计信息 git log --stat 

暂存工作状态

临时保存未完成的工作

基本stash操作

# 暂存当前工作 git stash  # 带描述的暂存 git stash push -m "正在开发登录功能"  # 查看stash列表 git stash list  # 恢复最新的stash git stash pop  # 应用指定的stash git stash apply stash@{0}  # 删除stash git stash drop stash@{0} 

高级stash操作

# 只暂存已跟踪的文件 git stash --keep-index  # 包含未跟踪的文件 git stash -u  # 交互式暂存 git stash -p  # 从stash创建分支 git stash branch feature-temp stash@{0} 

实用技巧命令

提高工作效率的秘诀

文件操作

# 删除文件 git rm filename.txt  # 重命名文件 git mv oldname.txt newname.txt  # 停止跟踪文件但保留本地文件 git rm --cached filename.txt  # 查看文件内容 git show HEAD:filename.txt 

标签管理

# 创建标签 git tag v1.0.0  # 创建带描述的标签 git tag -a v1.0.0 -m "版本1.0.0发布"  # 查看标签列表 git tag  # 推送标签到远程 git push origin v1.0.0  # 推送所有标签 git push origin --tags  # 删除标签 git tag -d v1.0.0 git push origin --delete v1.0.0 

搜索和定位

# 在代码中搜索 git grep "function"  # 查找引入bug的提交 git bisect start git bisect bad HEAD git bisect good v1.0.0  # 查看文件的每一行是谁修改的 git blame filename.txt  # 查看两个提交之间的差异 git diff commit1..commit2 

常见问题解决

遇到问题不慌张

提交相关问题

# 合并多个提交为一个 git rebase -i HEAD~3  # 修改历史提交信息 git rebase -i HEAD~3 # 将pick改为reword  # 撤销merge git reset --hard HEAD~1  # 查找丢失的提交 git reflog git cherry-pick commit-hash 

冲突解决

# 查看冲突文件 git status  # 手动解决冲突后 git add 冲突文件 git commit  # 放弃merge git merge --abort  # 使用工具解决冲突 git mergetool 

Git命令速查表

常用命令一览

Git命令这样用,代码管理轻松搞定

功能 命令 说明
初始化 git init 初始化仓库
克隆 git clone <url> 克隆远程仓库
状态 git status 查看工作区状态
添加 git add . 添加所有文件到暂存区
提交 git commit -m "msg" 提交代码
推送 git push origin main 推送到远程分支
拉取 git pull origin main 拉取远程代码
分支 git checkout -b <name> 创建并切换分支
合并 git merge <branch> 合并分支
日志 git log --oneline 查看提交历史

总结

掌握Git命令不是一天的事情,但是通过系统的学习和不断的实践,你会发现Git其实并没有想象中那么复杂。记住这些关键点:

  1. 从基础开始:先掌握add、commit、push等基本命令
  2. 理解工作流:明白工作区、暂存区、本地仓库的关系
  3. 多加练习:在实际项目中不断使用和总结
  4. 善用别名:为常用命令设置别名,提高效率

记住,Git是工具,不是障碍。掌握了这些命令,你的代码管理将会变得游刃有余!


觉得这篇文章对你有帮助吗?欢迎点赞关注推荐给更多的小伙伴!

发表评论

评论已关闭。

相关文章