一、笔记说明
本笔记基于实际操作流程,涵盖本地仓库初始化、配置、文件修改、提交、远程关联、推送全流程,包含关键命令、错误解决、状态解读,适配 Windows 下 MINGW64 终端环境(Gitee 远程仓库)。
二、核心操作流程
1. 本地仓库初始化
(1)初始化空仓库
命令:
# 进入目标目录(示例:D:/Gits)
cd /d/Gits
# 初始化 Git 仓库(生成 .git 隐藏文件夹)
git init
输出:Initialized empty Git repository in D:/Gits/.git/说明:初始化后自动进入 master 分支(默认主分支)。
(2)配置仓库用户信息(必填,关联提交记录)
# 配置用户名(仅当前仓库生效:--local)
git config --local user.name 'wjt-hub'
# 配置邮箱(⚠️ 注意拼写:email 而非 emal)
git config --local user.email '13292558150@163.com'
# 查看配置是否生效
git config --local -l
输出示例:
plaintext
core.repositoryformatversion=0
core.filemode=false
core.bare=false
core.logallrefupdates=true
core.symlinks=false
core.ignorecase=true
user.name=wjt-hub
user.email=13292558150@163.com
⚠️ 常见错误:若输错 user.emal,提交记录的邮箱会失效,需重新执行 git config --local user.email 修正。

2. 关联远程仓库(Gitee)
(1)添加远程仓库地址
命令:
# 关联 Gitee 远程仓库(origin 为远程仓库别名,可自定义)
git remote add origin https://gitee.com/wang-juntaoqwe/test1.git
# 验证远程仓库配置
cat .git/config
输出示例(关键片段):
[remote "origin"]
url = https://gitee.com/wang-juntaoqwe/test1.git
fetch = +refs/heads/*:refs/remotes/origin/*
说明:url 为 Gitee 仓库的 HTTPS 地址(可从 Gitee 仓库页面复制)。
3. 本地文件操作(新增 / 修改)
(1)新增文件并编辑
命令:
# 用 vi 编辑器新建/编辑文件(也可手动新建)
vi t1.txt
# 查看目录文件(验证文件创建)
ll
输出示例:
total 1
-rw-r--r-- 1 13292 197609 18 Dec 12 16:04 t1.txt
(2)查看文件状态(git status 核心命令)
命令:
git status
初始状态输出(文件未跟踪):
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
t1.txt
nothing added to commit but untracked files present (use "git add" to track)
状态解读:
Untracked files:文件未被 Git 跟踪,需执行git add纳入暂存;No commits yet:本地仓库无任何提交记录。
4. 暂存与提交(本地仓库)
(1)暂存文件(git add)
⚠️ 常见错误:git add.(少空格)会报错 git: 'add.' is not a git command,正确命令:
# 暂存指定文件
git add t1.txt
# 暂存所有未跟踪/修改的文件(推荐新手)
git add .
⚠️ 换行符警告(正常提示,无需处理):
warning: in the working copy of 't1.txt', LF will be replaced by CRLF the next time Git touches it
说明:Windows 用 CRLF 换行,Linux/Mac 用 LF,Git 自动适配,不影响文件内容。
(2)确认暂存状态
命令:
git status
输出示例:
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: t1.txt
解读:Changes to be committed 表示文件已暂存,可提交到本地仓库。
(3)提交到本地仓库(git commit)
命令:
# 提交并添加备注(备注必填,描述提交内容)
git commit -m "首次提交:新增 t1.txt"
输出示例:
[master (root-commit) ec06372] 首次提交:新增 t1.txt
1 file changed, 1 insertion(+)
create mode 100644 t1.txt
解读:
root-commit:首次提交(根提交);ec06372:提交哈希值(唯一标识该次提交);1 file changed:1 个文件被修改,1 insertion(+):新增 1 行内容。
5. 推送到远程仓库(Gitee)
(1)首次推送(常见问题解决)
① 问题 1:网络 / 认证失败命令:
git push -u origin master

常见错误输出:
# 网络解析失败
fatal: unable to access 'https://gitee.com/wang-juntaoqwe/test1.git/': Could not resolve host: gitee.com
# 账号密码错误
remote: [session-0c4228a0] git-hub: Incorrect username or password (access token)
fatal: Authentication failed for 'https://gitee.com/wang-juntaoqwe/test1.git/'
解决:
- 网络解析失败:重试命令(临时 DNS 问题);
- 认证失败:输入正确的 Gitee 账号密码(或生成 Gitee 访问令牌替代密码,更安全)。
② 问题 2:远程仓库有本地未同步的提交错误输出:
! [rejected] master -> master (fetch first)
error: failed to push some refs to 'https://gitee.com/wang-juntaoqwe/test1.git'
hint: Updates were rejected because the remote contains work that you do not have locally.
解决(个人仓库可强制推送,覆盖远程):
# 强制推送(-f 表示 force,慎用!多人协作禁止)
git push -u origin master -f
成功输出:
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Writing objects: 100% (3/3), 221 bytes | 221.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
remote: Powered by GITEE.COM [1.1.23]
remote: Set trace flag 5b4b13b3
To https://gitee.com/wang-juntaoqwe/test1.git
+ 36b3963...ec06372 master -> master (forced update)
branch 'master' set up to track 'origin/master'.
解读:
forced update:远程分支被本地强制覆盖;branch 'master' set up to track 'origin/master':本地master关联远程origin/master,后续推送可简化为git push。
(2)后续推送(新增修改后)
① 新增 / 修改文件(示例:新建 1.txt,修改 t1.txt)
# 新建并编辑 1.txt
vi 1.txt
# 修改 t1.txt
vi t1.txt
# 查看状态
git status
输出示例:
On branch master
Your branch is up to date with 'origin/master'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
modified: t1.txt
Untracked files:
(use "git add <file>..." to include in what will be committed)
1.txt
no changes added to commit (use "git add" and/or "git commit -a")
② 暂存 + 提交
# 暂存所有修改
git add .
# 提交到本地
git commit -m "新增 1.txt,修改 t1.txt 内容"
输出示例:
[master ceeb4bc] 新增 1.txt,修改 t1.txt 内容
2 files changed, 2 insertions(+), 1 deletion(-)
create mode 100644 1.txt
③ 简化推送(无需 -u/-f)
git push
成功输出:
Enumerating objects: 6, done.
Counting objects: 100% (6/6), done.
Delta compression using up to 20 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (4/4), 306 bytes | 306.00 KiB/s, done.
Total 4 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
remote: Powered by GITEE.COM [1.1.23]
remote: Set trace flag f34cf78c
To https://gitee.com/wang-juntaoqwe/test1.git
ec06372..ceeb4bc master -> master
6. 常用状态验证命令
# 查看远程仓库信息
git remote show origin
# 查看所有分支(本地+远程)
git branch -a
# 查看分支及提交信息(详细)
git branch -av
# 查看提交记录(简洁版)
git log --oneline
# 查看当前仓库状态(核心)
git status
三、关键概念与注意事项
1. 核心概念
| 术语 | 说明 |
|---|---|
| 工作区 | 本地文件夹(如 D:/Gits),存放实际文件; |
| 暂存区 | 临时存储修改的区域(git add 后进入); |
| 本地仓库 | .git 文件夹,存储提交记录(git commit 后进入); |
| 远程仓库 | Gitee/GitHub 上的仓库(git push 后同步); |
| origin | 远程仓库的默认别名,可自定义; |
| master | 默认主分支名(新版 Git 为 main); |
2. 注意事项
① 强制推送(git push -f):仅个人仓库使用,多人协作禁止(会覆盖远程提交记录);② 提交备注:必须清晰(如 "新增 XX 文件""修复 XX 问题"),便于追溯;③ 换行符警告:无需处理,Git 自动适配系统;④ 认证方式:Gitee 推荐用「访问令牌」替代密码(设置路径:Gitee → 个人设置 → 私人令牌);⑤ git add . vs git add 文件名:前者暂存所有修改,后者精准暂存指定文件,推荐后者(避免误提交)。
四、日常开发标准流程(总结)
bash
运行
# 1. 进入仓库目录
cd /d/Gits
# 2. 拉取远程最新代码(避免冲突)
git pull origin master
# 3. 修改/新增文件
vi 目标文件
# 4. 暂存修改
git add 目标文件
# 5. 提交到本地
git commit -m "清晰的备注信息"
# 6. 推送到远程
git push

