news 2026/4/19 0:41:12

Git 从初始化到远程推送完整实操笔记

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Git 从初始化到远程推送完整实操笔记

一、笔记说明

本笔记基于实际操作流程,涵盖本地仓库初始化、配置、文件修改、提交、远程关联、推送全流程,包含关键命令、错误解决、状态解读,适配 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 .vsgit add 文件名:前者暂存所有修改,后者精准暂存指定文件,推荐后者(避免误提交)。

四、日常开发标准流程(总结)

bash

运行

# 1. 进入仓库目录 cd /d/Gits # 2. 拉取远程最新代码(避免冲突) git pull origin master # 3. 修改/新增文件 vi 目标文件 # 4. 暂存修改 git add 目标文件 # 5. 提交到本地 git commit -m "清晰的备注信息" # 6. 推送到远程 git push
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/17 15:19:04

Velero API开发终极指南:从入门到精通

为什么选择Velero API&#xff1f; 【免费下载链接】velero Backup and migrate Kubernetes applications and their persistent volumes 项目地址: https://gitcode.com/GitHub_Trending/ve/velero 在当今云原生时代&#xff0c;Kubernetes已成为容器编排的事实标准。然…

作者头像 李华
网站建设 2026/4/18 15:51:05

Java线程安全:披萨争夺战的终极解法

哈哈&#xff0c;小白你好&#xff01;今天咱们来聊聊Java里的“线程安全”——这玩意儿就像一群程序员在办公室里抢同一份披萨&#xff0c;如果没点规矩&#xff0c;最后可能谁都吃不上完整的&#xff0c;还弄一地碎屑&#xff01;&#x1f604;简单说&#xff0c;线程安全就是…

作者头像 李华
网站建设 2026/4/17 20:03:58

Paperzz AI 期刊论文:从 “选题模糊” 到 “适配刊文框架”,学术新人如何高效搭建期刊级论文的写作路径

Paperzz-AI官网免费论文查重复率AIGC检测/开题报告/文献综述/论文初稿 paperzz - 期刊论文https://www.paperzz.cc/journalArticle 对学术新人而言&#xff0c;期刊论文写作的门槛远高于课程论文 —— 既要贴合期刊的 “选题方向”&#xff0c;又要符合 “摘要 - 引言 - 实证…

作者头像 李华
网站建设 2026/4/16 12:14:53

期刊论文写作的“AI工具链革命”:9大智能引擎全景拆解——一场从“孤岛式写作”到“协同式科研交付”的认知升维实验

开篇&#xff1a;一场真实的“学术压力测试” 2025年12月&#xff0c;某高校青年教师接到期刊返修意见&#xff1a;“理论贡献不清晰&#xff0c;方法描述模糊&#xff0c;图表可读性弱。”距离截止日仅剩72小时。 他没有熬夜改稿&#xff0c;而是打开9款AI工具&#xff0c;构…

作者头像 李华
网站建设 2026/4/16 10:38:39

8、Linux进程管理与权限控制全解析

Linux进程管理与权限控制全解析 1. Linux权限管理基础 Linux通过权限设置来保护用户或用户组的文件和目录,防止未经授权的访问。了解这一系统不仅有助于保护文件,还能执行新的工具和文件。在某些情况下,攻击者可能会利用SUID和SGID权限,将普通用户的权限提升为root用户权…

作者头像 李华
网站建设 2026/4/18 3:51:42

期刊论文不是“学术八股文”,而是“知识产品的精密组装”——Paperzz AI期刊论文功能深度拆解:从研究碎片到可发表成果,它如何把你的“数据+想法”翻译成编辑部能秒懂的“科研产品说明书”?

Paperzz-AI官网免费论文查重复率AIGC检测/开题报告/文献综述/论文初稿 paperzz - 期刊论文https://www.paperzz.cc/journalArticle 引言&#xff1a;我们不是在写论文&#xff0c;是在做“知识产品交付” 凌晨两点&#xff0c;你对着电脑屏幕发呆。左手是刚跑完的回归结果&am…

作者头像 李华