Git作为当今最流行的分布式版本控制系统,已经成为开发者日常工作中不可或缺的工具。本文将全面介绍Git的常用命令,帮助开发者高效管理代码版本。
一、Git基础配置
在开始使用Git前,需要进行基础配置:
# 设置全局用户名 git config --global user.name "你的用户名" # 设置全局邮箱 git config --global user.email "你的邮箱" # 查看所有配置信息 git config --list # 查看配置来源 git config --list --show-origin # 编辑Git配置文件 git config -e [--global]
二、仓库操作
1. 仓库初始化与克隆
# 初始化新仓库 git init [项目名称] # 克隆远程仓库 git clone [url] # 克隆指定分支 git clone -b [分支名] [url] # 浅克隆(只获取最近历史) git clone --depth 1 [url]
2. 远程仓库管理
# 查看远程仓库信息 git remote -v # 查看远程仓库详细信息 git remote show [remote] # 添加远程仓库 git remote add [名称] [url] # 修改远程仓库URL git remote set-url [名称] [新url]
三、文件操作与提交
1. 文件状态管理
# 查看当前状态 git status # 添加文件到暂存区 git add [file] git add . # 添加所有更改 # 交互式添加 git add -p # 撤销工作区更改 git checkout -- [file] # 撤销暂存区更改 git reset HEAD [file]
2. 提交更改
# 提交更改 git commit -m "提交信息" # 添加并提交(仅对已跟踪文件) git commit -am "提交信息" # 修改最后一次提交 git commit --amend
3. 差异比较
# 比较工作区与最新提交 git diff # 比较暂存区与最新提交 git diff --cached # 比较两个提交 git diff [commit1] [commit2]
四、分支管理
1. 基础分支操作
# 查看所有分支 git branch # 本地分支 git branch -a # 所有分支(含远程) git branch -r # 远程分支 # 创建分支 git branch [分支名] # 切换分支 git checkout [分支名] # 创建并切换分支 git checkout -b [新分支名] # 删除分支 git branch -d [分支名] # 安全删除 git branch -D [分支名] # 强制删除 # 重命名分支 git branch -m [新分支名]
2. 分支合并与同步
# 合并分支 git merge [分支名] # 变基操作 git rebase [分支名] # 交互式变基 git rebase -i [commit_id] # 推送分支 git push origin [分支名] # 拉取远程分支 git pull origin [分支名]
五、提交历史与版本控制
1. 查看历史
# 查看提交历史 git log # 简洁版历史 git log --oneline # 图形化显示 git log --graph # 显示文件修改历史 git log -p [file] # 查看提交详情 git show [commit]
2. 版本回退
# 回退到上一个版本 git reset --hard HEAD~1 # 回退到指定提交 git reset --hard [commit_id] # 撤销某次提交(创建新提交) git revert [commit_id]
六、高级功能
1. 储藏与恢复
# 储藏当前修改 git stash git stash save "描述信息" # 查看储藏列表 git stash list # 恢复储藏 git stash pop # 恢复并删除 git stash apply # 恢复不删除 # 删除储藏 git stash drop stash@{n}
2. 子模块管理
# 添加子模块 git submodule add [url] [path] # 初始化子模块 git submodule init # 更新子模块 git submodule update # 克隆包含子模块的项目 git clone --recurse-submodules [url]
3. 忽略文件
在项目根目录创建.gitignore
文件,添加要忽略的文件或目录:
# 忽略日志文件 *.log # 忽略编译产物 /build/ /bin/ # 忽略IDE配置文件 .idea/ .vscode/
七、常见问题解决
1. 冲突解决
当合并或变基遇到冲突时:
-
打开冲突文件,解决冲突标记(<<<<<<<, =======, >>>>>>>)
-
标记为已解决:
git add [file]
-
继续操作:
git commit # 合并冲突 git rebase --continue # 变基冲突
2. 找回丢失代码
# 查看操作历史 git reflog # 恢复丢失的提交 git checkout [commit_id]