Git安装与配置:操作步骤+Gitee绑定
Git从入门到协作:基础命令+分支管理+Gitee实操,新手也能轻松上手
在代码开发和项目管理中,Git能帮你记录每一次修改,在协作时避免冲突,还能轻松回溯历史文件记录。今天从安装配置到远程协作,给大家分享一些Git的用法。
一、准备工作:Git安装与基础配置
1. Windows安装Git
- 下载:去Git for Windows官网或Gitee镜像站(网速更快)下载安装包;
- 安装:双击安装包,按向导一步步点“下一步”,默认选项即可满足多数需求;
- 验证:打开Git Bash或PowerShell,输入
git --version
,能显示版本号(比如“git version 2.45.1.windows.1”)就代表安装成功。
2. 基础配置:让Git“认识”你
安装后要配置用户名和邮箱(用于标记提交者),还能设置默认分支和颜色显示,命令直接复制执行:
# 配置用户名(替换成你的名字,比如“Zhang San”)
git config --global user.name "Your Name"
# 配置邮箱(替换成你的邮箱)
git config --global user.email "you@example.com"
# 设置默认分支为main(现在主流分支名)
git config --global init.defaultBranch main
# 开启颜色显示(让命令结果更易读)
git config --global color.ui auto
# Windows专属:自动转换换行符(避免跨平台文件格式问题)
git config --global core.autocrlf true
# 可选:把VS Code设为默认编辑器(后续写提交信息更方便)
git config --global core.editor "code --wait"
3. Gitee绑定:安全连接远程仓库
想把代码传到Gitee,推荐用“个人访问令牌”(比账号密码更安全):
- 登录Gitee,进入“个人设置→私人令牌”;
- 点击“生成新令牌”,勾选需要的权限(比如“projects”),按提示完成验证;
- 保存生成的令牌(只显示一次,丢了要重新生成),后续推送代码时,“用户名”填Gitee账号,“密码”填这个令牌。
二、Git核心概念
Git的核心逻辑,就像“三层文件抽屉”,每层负责不同工作:
- 工作区:你能看到的文件和文件夹,比如电脑里的“demo-git”文件夹,是你日常编辑代码的地方;
- 暂存区:“待提交的草稿箱”,把工作区的修改添加到这里,相当于“标记哪些修改要保存”;
- 本地仓库:“正式档案库”,提交暂存区的内容后,会在这里生成历史记录,HEAD指针会指向当前所在的分支;
- 远程仓库:比如Gitee上的仓库,是“团队共享的档案库”,方便多人协作时同步代码。
三、常用命令清单
掌握这些高频用法,能应对80%的场景:
1. 查看状态与差异:知道代码改了啥
# 查看当前仓库状态(哪些文件被修改、是否在暂存区)
git status
# 查看工作区与暂存区的差异(没添加到暂存区的修改)
git diff
# 查看暂存区与最近一次提交的差异(已添加但没提交的修改)
git diff --staged
2. 添加与提交:保存代码修改
# 把单个文件添加到暂存区(替换<file>为文件名,比如“src/App.java”)
git add <file>
# 把所有修改(包括新增、修改、删除)添加到暂存区
git add .
# 提交暂存区的内容,-m后是提交信息(要写清楚改了啥,比如“新增登录功能”)
git commit -m "feat: add new login"
# 修改上一次的提交信息(还没推送到远程时可用)
git commit --amend -m "fix: new correct message"
3. 历史与回溯:查看过去的修改
# 简洁查看所有分支的提交历史(一行一个提交,带分支图)
git log --oneline --graph --decorate --all
# 查看某次提交的具体内容(替换<commit>为提交ID,比如“a1b2c3d”)
git show <commit>
4. 撤销与恢复:改错了也不怕
Git 2.23+推荐用restore
命令,更直观安全:
# 丢弃工作区的修改(比如误改了文件,想恢复到最近一次提交的状态,谨慎用)
git restore <file>
# 把文件从暂存区移除(保留工作区的修改,比如误加了不需要的文件)
git restore --staged <file>
# 还原某次提交(生成反向提交,不会删除历史,安全)
git revert <commit>
# 重置分支到某次提交(危险!谨慎用,--mixed是默认模式,重置暂存区)
git reset --mixed <commit>
5. 忽略文件:让不需要的文件不被Git“看到”
创建.gitignore
文件,写入要忽略的文件/文件夹(比如编译产物、IDE配置),示例:
/target/ # 忽略target文件夹(编译产物)
*.class # 忽略所有.class后缀的文件
*.log # 忽略所有.log后缀的文件
.idea/ # 忽略IDEA的配置文件夹
*.iml # 忽略IDEA的.iml文件
.DS_Store # 忽略Mac系统的隐藏文件
四、分支管理
分支就像“代码开发的平行宇宙”——在新分支开发功能,不会影响主干代码,完成后再合并回去,这是多人协作的核心。
1. 分支基础操作
# 创建并切换到新分支(比如“feature/login”,功能分支——开发登录功能)
git switch -c feature/login
# 在已有分支间切换(比如切回main主干)
git switch main
# 把feature/login分支合并到main主干(先切到main)
git switch main
git merge feature/login
# 同步远程主干的最新代码(先拉取,再变基,让历史更整洁)
git fetch origin
git switch main
git pull --rebase origin main
# 把主干的最新修改同步到功能分支(两种方式)
# 方式1:合并(保留分叉历史)
git switch feature/login
git merge main --no-ff -m "merge main into feature/login"
# 方式2:变基(把功能分支的提交“挪到”主干最新之后,历史更加线性)
git switch feature/login
git rebase main
# 首次推送功能分支并建立上游
git push -u origin feature/login
# 发起合并(建议 PR/MR 流程),或本地合并:
git switch main
git merge --no-ff feature/login -m "feat(login): implement basic login"
git push origin main
2. 解决冲突:协作中难免遇到,按步骤来就好
合并或变基时遇到冲突(比如两人改了同一文件的同一行),不用慌:
- 命令行提示“Automatic merge failed”,打开冲突文件,里面会有
<<<<<<<
、=======
、>>>>>>>
标记,中间就是冲突内容; - 编辑文件:保留需要的内容,删除冲突标记;
- 标记冲突已解决:
git add <conflicted-files>
(替换为冲突文件名); - 如果是变基过程中,执行
git rebase --continue
继续;如果想放弃变基,执行git rebase --abort
。
3. 常见工作流:选适合团队的方式
- Git Flow:适合版本节奏固定的项目,分支分为main(主干)、develop(开发)、feature(功能)、release(发布)、hotfix(紧急修复);
- Trunk-Based:多数团队推荐,以main为主干,开发用短生命周期的小分支,频繁合并,配合CI/CD快速迭代。
五、远程协作:连接Gitee,实现多人同步
本地代码做好后,要传到Gitee和团队共享,或拉取别人的代码,关键是管好“远程仓库”:
1. 管理远程仓库:添加、查看与修改
# 查看当前配置的远程仓库(显示别名和地址,比如origin)
git remote -v
# 添加远程仓库(别名设为origin,<url>替换成Gitee仓库的HTTPS或SSH地址)
git remote add origin <url>
# 修改远程仓库地址(比如换了仓库,更新地址)
git remote set-url origin <new-url>
2. 拉取与推送:同步代码
# 仅拉取远程代码,不更新本地分支(查看远程有哪些新提交)
git fetch origin
# 拉取远程main分支的代码,并变基到本地main(推荐,避免多余合并提交)
git pull --rebase origin main
# 推送本地main分支到远程origin
git push origin main
# 首次推送功能分支(比如feature/login),并建立与远程的关联(后续可直接git push)
git push -u origin feature/login
3. Gitee实操:从创建仓库到推送代码
- 创建远程仓库:登录Gitee,点击“+”号→“新建仓库”,填仓库名(比如“demo-git”),选择公开/私有,点击“创建”;
- 获取仓库地址:仓库创建后,复制页面上的HTTPS地址(比如“https://gitee.com/your-name/demo-git.git”);
- 本地推送代码:在本地仓库执行以下命令,把代码推到Gitee:
# 添加远程仓库(origin是别名)
git remote add origin https://gitee.com/your-name/demo-git.git
# 首次推送main分支,并设置上游
git push -u origin main
4.从 GitHub 迁移到 Gitee(镜像):
- 方案 A:在 Gitee 仓库设置中使用“从 GitHub 导入仓库”
- 方案 B:本地设置两个远程,手动推送:
git remote add github git@github.com:<ns>/<repo>.git
git remote add gitee https://gitee.com/<ns>/<repo>.git
# 推送全部分支与标签(如果打了发布标签,比如v1.0.0)
git push gitee --all
git push gitee --tags
六、常见问题
- push被拒绝:先执行
git fetch origin
拉取远程最新代码,再用git pull --rebase origin main
同步,解决冲突后再推送; - 进入Detached HEAD状态:这是“游离头指针”,执行
git switch <branch>
(比如git switch main
)回到正常分支,需要保存当前修改就新建分支:git switch -c temp
; - 误删文件:从最近一次提交恢复:
git restore --source=HEAD -- <file>
; - 大文件入库:考虑用Git LFS(大文件存储),或把大文件加入
.gitignore
,再清理历史提交中的大文件。
七、总结
Git的核心是理解“工作区-暂存区-仓库”的逻辑和分支协作的思路。从本地管理代码到Gitee远程协作,多在实际项目中用,遇到问题多查一查,慢慢就会觉得Git是个超好用的工具。