初始化或克隆项目
本地初始化
用于新建一个本地 Git 仓库。
- 在当前目录下生成
.git
文件夹,标志项目已启用版本控制。
- 适用场景:从零开始开发本地项目。
克隆远程仓库
用于从远程服务器(如 GitHub)下载已有的项目代码及历史记录。
- 会创建一个目录,自动初始化 Git 仓库并检出默认分支的最新内容。
- 适用场景:参与已有项目协作开发。
基本配置(首次使用 Git 时设置)
设置用户名和邮箱
Git 使用这两个字段标记你的提交者身份。
git config --global user.name "你的名字" git config --global user.email "你的邮箱"
|
- 加上
--global
表示作用于当前用户所有仓库。
查看配置信息
- 查看当前 Git 配置项(包括用户名、邮箱、编辑器等)。
文件的变更与提交
查看当前状态
- 显示工作目录和暂存区的差异:哪些文件被修改、哪些文件未被追踪、哪些已准备提交。
添加文件到暂存区
git add <文件> git add . git add -A
|
- 将文件的修改加入“准备提交”状态(提交前的预览区)。
提交暂存区到版本库
修改上一次提交
- 修改上一次提交的说明或增加漏提交的文件。
- 注意:会改写历史,慎用于已推送分支。
分支管理
查看分支
创建新分支
创建并切换分支
- 等效于:
git branch <分支名>
+ git checkout <分支名>
切换到已有分支
合并分支
将一个分支上的改动整合到当前分支中。
换句话说,就是“把另一个分支上写的代码拉进当前分支”。
git checkout main git merge <分支名>
|
Git 会尝试自动把两个分支的内容合成一份新代码:
- 如果两个分支没有修改相同的地方,Git 会自动合并。
- 如果两个分支修改了同一个文件的同一行,就会产生冲突,你需要手动解决。
删除分支
git branch -d <分支名> git branch -D <分支名>
|
与远程仓库交互
添加远程仓库
git remote add origin <仓库地址>
|
- 为本地仓库添加远程地址,
origin
是远程仓库的默认别名。
- 仅需设置一次。
查看远程地址
- 显示所有远程仓库地址及其用途(fetch/push)。
推送代码
git push -u origin main git push
|
拉取远程更新并合并
获取远程内容但不合并
查看历史与差异
查看提交历史
简洁日志
git log --oneline --graph --all
|
查看差异
git diff git diff --staged
|
撤销和恢复操作
撤销工作区中的修改(未 add)
- 恢复指定文件为最后一次提交的状态。
- 仅适用于未暂存的修改。
取消暂存的文件(已 add)
撤销最近提交(保留更改)
- 撤销提交但保留文件改动到暂存区。
- 适用于提交信息写错等情况。
丢弃提交和更改(不可恢复)
暂存工作内容(stash)
保存当前修改
恢复最新保存的修改
查看所有 stash 条目
标签管理
创建标签
查看标签
推送标签
git push origin v1.0.0 git push origin --tags
|
清理无用文件
删除未被追踪的文件和目录
-f
强制删除;-d
删除目录。
- 删除的是未添加到 Git 的文件,如临时文件、编译产物。
- 注意:操作不可恢复,需谨慎使用。
多人协作建议流程
从远程拉取最新主分支代码
创建功能开发分支(避免在主分支直接开发)
git checkout -b feature/xxx
|
编写代码并提交
git add . git commit -m "完成某功能"
|
推送分支到远程(便于协作)
git push -u origin feature/xxx
|
在代码平台上发起 Pull Request,待审核合并
合并完成后,返回主分支并同步最新代码
git checkout main git pull origin main
|
删除本地已合并分支,保持项目整洁:
git branch -d feature/xxx
|