一、准备工作
- 在本地安装 Git(官网下载并安装)
- 注册 Gitee 账号并登录
- 在 Gitee 上创建一个新仓库(点击右上角'+'号 -> 新建仓库)
从本地使用 Git 向 Gitee 推送项目的完整流程。内容包括准备工作(安装 Git、注册账号、创建仓库)、核心操作步骤(初始化仓库、添加文件、提交、关联远程仓库、拉取合并、推送代码)及各命令的具体作用。此外,还涵盖了后续简化推送流程、常见问题解决方案(如冲突处理、更换地址),并深入讲解了.gitignore 文件的编写规则与常见场景示例(前端、Python、Java 项目)。通过可掌握 Git 版本控制基础及 Gitee 协作规范。
.gitignore 文件,在里面添加不想要推送到 Git 仓库的文件夹或文件。git init
.git 文件夹,用于存储版本控制相关信息。git add .
git add 文件名:添加指定文件git add 文件夹名:添加指定文件夹git commit -m "提交说明"
git remote add origin https://gitee.com/你的用户名/仓库名.git
origin 是远程仓库的默认别名,也可以使用其他名称。git pull origin master --allow-unrelated-histories
master 是默认分支名(现在 Gitee 可能默认是 main)。--allow-unrelated-histories 允许合并两个没有共同历史的仓库(首次关联时使用)。git push -u origin master
-u 参数用于设置默认推送的远程仓库和分支,后续可直接使用 git push。master 是要推送的本地分支,需与远程分支名称一致。推送命令执行后,会提示输入 Gitee 的账号和密码:
完成首次推送后,后续修改项目后只需执行:
# 添加修改
git add .
# 提交修改
git commit -m "修改说明"
# 推送至远程
git push
git pull origin master --rebase
git push origin master
git remote set-url origin 新的仓库地址
git remote -v
通过以上步骤,就能将本地项目成功推送到 Gitee 远程仓库,实现代码的远程管理和备份。
git pull 是 Git 中常用的命令,用于从远程仓库获取最新代码并自动合并到当前本地分支。它实际上是 git fetch 和 git merge 两个命令的组合操作。
git pull [远程仓库名] [远程分支名]
只拉取特定文件
git fetch origin main
git checkout origin/main -- 文件名
这不是 git pull 的直接用法,但可以实现只更新特定文件的效果。
以 rebase 方式拉取
git pull --rebase origin main
使用变基(rebase)而非合并(merge)的方式整合代码,使提交历史更整洁。
强制拉取(谨慎使用)
git pull --force
# 或
git pull -f
强制覆盖本地修改,可能会导致本地未提交的更改丢失。
拉取指定远程分支并合并到当前分支
git pull origin main
从 origin 远程仓库的 main 分支拉取代码并合并到当前分支。
拉取并合并默认远程分支
git pull
当当前分支与远程分支存在追踪关系时,可直接使用,无需指定远程仓库和分支。
git fetch 从远程仓库下载最新的代码和分支信息git merge 将远程分支合并到当前本地分支git pull 可以保持本地代码与远程同步git fetch + git merge 分步操作,更安全可控使用 git pull --help 可以查看完整的命令文档和更多高级选项。
.gitignore 文件用于告诉 Git 哪些文件或目录不需要纳入版本控制,避免将临时文件、编译产物、敏感信息等提交到代码仓库。以下是 .gitignore 的编写规则和常见示例:
*:匹配任意字符(不含路径分隔符 /),例如 *.log 忽略所有 .log 后缀的文件。?:匹配单个字符,例如 file?.txt 忽略 file1.txt、file2.txt 等。**:匹配任意层级的目录,例如 **/cache/ 忽略所有目录下的 cache 文件夹。/ 结尾:表示匹配目录(而非文件),例如 dist/ 只忽略 dist 目录。/ 开头:只匹配项目根目录下的文件/目录,例如 /node_modules/。! 开头,表示不忽略某个文件(需放在对应忽略规则之后),例如 *.txt !README.txt。# 开头的行是注释,会被 Git 忽略。# 依赖包
node_modules/
pnpm-lock.yaml
package-lock.json
yarn.lock
# 编译产物
dist/
build/
out/
# 环境变量(含敏感信息)
.env
.env.local
.env.*.local
# 日志和缓存
logs/
*.log
.DS_Store
Thumbs.db
# 编辑器配置(可选,建议放在全局 .gitignore)
.idea/
.vscode/
*.swp
*.swo
# 虚拟环境
venv/
env/
*.env
# 编译产物
__pycache__/
*.py[cod]
*$py.class
# 依赖包信息
requirements.txt
*.egg-info/
# 测试和日志
tests/__pycache__/
logs/
*.log
# 操作系统文件
.DS_Store
Thumbs.db
# 编译产物
target/
*.class
# 依赖包
lib/
*.jar
*.war
# IDE 配置
.idea/
*.iml
.classpath
.project
# 日志
logs/
*.log
.gitignore 只对未被跟踪的文件生效。如果文件已被提交到仓库,需先移除跟踪:# 移除文件跟踪(不会删除本地文件)
git rm --cached 文件名
# 然后提交修改
git commit -m "移除已跟踪的文件"
.gitignore:对于所有项目都需要忽略的文件(如编辑器配置、系统文件),可设置全局规则:# 创建全局 .gitignore 文件
git config --global core.excludesfile ~/.gitignore_global
然后在 ~/.gitignore_global 中添加规则(如 .idea/、.DS_Store 等)。
通过合理配置 .gitignore,可以保持仓库清洁,避免冗余文件和敏感信息的提交。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online
JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online
使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online
Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online